import { createApp } from 'vue' import { createPinia } from 'pinia' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import 'element-plus/theme-chalk/dark/css-vars.css' import * as ElementPlusIconsVue from '@element-plus/icons-vue' import App from './App.vue' import router from './router' // 导入全局样式 import '@/styles/main.scss' // 创建Vue应用实例 const app = createApp(App) // 创建Pinia实例 const pinia = createPinia() // 注册Element Plus图标 for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } // 配置Element Plus app.use(ElementPlus, { size: 'default', zIndex: 3000, }) // 注册插件 app.use(pinia) app.use(router) // 全局错误处理 app.config.errorHandler = (err, vm, info) => { console.error('Vue应用错误:', err) console.error('错误信息:', info) console.error('组件实例:', vm) } // 全局属性 app.config.globalProperties.$ELEMENT = { size: 'default', zIndex: 3000 } // 挂载应用 app.mount('#app') // 开发环境配置 if (import.meta.env.DEV) { console.log('🚀 聊天应用已启动 (开发模式)') console.log('📡 API地址:', import.meta.env.VITE_API_BASE_URL || 'http://localhost:3000') // 全局Vue实例(用于调试) window.__VUE_APP__ = app }