|
|
|
|
/*
|
|
|
|
|
* @Author: donghao donghao@supervision.ltd
|
|
|
|
|
* @Date: 2025-03-06 11:27:03
|
|
|
|
|
* @LastEditors: donghao donghao@supervision.ltd
|
|
|
|
|
* @LastEditTime: 2025-03-11 11:11:49
|
|
|
|
|
* @FilePath: \vite-ai\data-dashboard\src\main.ts
|
|
|
|
|
* @Description: 入口文件
|
|
|
|
|
*/
|
|
|
|
|
// src/main.ts
|
|
|
|
|
|
|
|
|
|
import { createApp } from "vue";
|
|
|
|
|
import { createPinia } from "pinia";
|
|
|
|
|
import App from "./App.vue";
|
|
|
|
|
import router from "./router";
|
|
|
|
|
// import { mockServer } from './mock' // Mock服务初始化
|
|
|
|
|
// import { registerGlobalDirectives } from '@/directives' // 全局指令注册
|
|
|
|
|
import { registerErrorHandler } from "@/utils/error"; // 全局错误处理
|
|
|
|
|
|
|
|
|
|
// ================== 初始化核心配置 ==================
|
|
|
|
|
const app = createApp(App);
|
|
|
|
|
const pinia = createPinia();
|
|
|
|
|
|
|
|
|
|
// ================== DataV ==================
|
|
|
|
|
// // 引入 DataV
|
|
|
|
|
// import DataV from '@jiaminghi/data-view';
|
|
|
|
|
// // 引入 DataV 的 CSS 样式
|
|
|
|
|
// import '@jiaminghi/data-view/lib/data-view.min.css';
|
|
|
|
|
|
|
|
|
|
// ================== Element Plus 完整引入方案 ==================
|
|
|
|
|
import ElementPlus from "element-plus";
|
|
|
|
|
import "@/styles/tailwind.scss";
|
|
|
|
|
import "element-plus/dist/index.css";
|
|
|
|
|
import "element-plus/theme-chalk/dark/css-vars.css"; // 暗黑主题
|
|
|
|
|
import zhCn from "@/plugins/zhCnElement"; // 引入中文语言包
|
|
|
|
|
// ================== 自动导入配置检查 ==================
|
|
|
|
|
// 确保vite.config.ts中已配置以下内容:
|
|
|
|
|
// AutoImport({ resolvers: [ElementPlusResolver()] })
|
|
|
|
|
// Components({ resolvers: [ElementPlusResolver()] })
|
|
|
|
|
|
|
|
|
|
// ================== 全局样式导入 ==================
|
|
|
|
|
import "@/styles/index.scss"; // 主样式文件
|
|
|
|
|
|
|
|
|
|
// import 'virtual:svg-icons-register' // SVG图标注册(如果使用vite-plugin-svg-icons)
|
|
|
|
|
|
|
|
|
|
// ================== 环境相关配置 ==================
|
|
|
|
|
// if (import.meta.env.VITE_MOCK_ENABLED === 'true') {
|
|
|
|
|
// mockServer() // 初始化Mock服务
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// ================== 全局配置 ==================
|
|
|
|
|
app.config.globalProperties.$version = import.meta.env.VITE_APP_VERSION; // 注入版本信息
|
|
|
|
|
|
|
|
|
|
// ================== 插件安装顺序 ==================
|
|
|
|
|
app
|
|
|
|
|
.use(pinia) // 优先安装Pinia
|
|
|
|
|
.use(router) // 其次安装路由
|
|
|
|
|
.use(ElementPlus, {
|
|
|
|
|
locale: zhCn,
|
|
|
|
|
size: "large", // 全局组件尺寸
|
|
|
|
|
zIndex: 3000, // 全局z-index
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// ================== 全局注册 ==================
|
|
|
|
|
// registerGlobalDirectives(app) // 注册自定义指令(如权限指令v-permission)
|
|
|
|
|
// registerGlobalComponents(app) // 注册全局组件(如有)
|
|
|
|
|
|
|
|
|
|
// ================== 错误处理 ==================
|
|
|
|
|
registerErrorHandler(app); // 注册全局错误处理
|
|
|
|
|
|
|
|
|
|
// ================== 大屏适配初始化 ==================
|
|
|
|
|
if (import.meta.env.MODE === "development") {
|
|
|
|
|
// 开发环境显示适配基准线
|
|
|
|
|
import("@/utils/screen-helper").then(({ showDesignHelper }) => {
|
|
|
|
|
showDesignHelper(1920, 1080); // 根据设计稿尺寸显示辅助线
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ================== 挂载主应用 ==================
|
|
|
|
|
app.mount("#app");
|
|
|
|
|
|
|
|
|
|
// ================== 生产环境性能监控 ==================
|
|
|
|
|
// if (import.meta.env.PROD) {
|
|
|
|
|
// import('@/utils/performance').then(({ initPerformance }) => {
|
|
|
|
|
// initPerformance()
|
|
|
|
|
// })
|
|
|
|
|
// }
|