refactor: 重构项目结构 - enums/config/types/plugins

- 重构 enums: 按业务域合并为 5 个文件
- 创建 config: storage.ts, vxe-table.ts
- 删除 plugins,功能迁移到 main.ts
- 创建完整 types 结构
- 新增 utils: validators, websocket, register-components
- 创建 router/guards/permission.ts
- 更新配置文件
This commit is contained in:
Ray.Hao
2025-12-12 13:59:40 +08:00
parent add4237b1f
commit 9fb1942619
45 changed files with 836 additions and 834 deletions

View File

@@ -1,19 +1,63 @@
/**
* 应用启动入口
*
* @description
* Vue3 应用初始化,包括样式、插件、配置的加载
*/
import { createApp } from "vue";
import App from "./App.vue";
import setupPlugins from "@/plugins";
// 暗黑主题样式
// ===== 样式导入 =====
import "element-plus/theme-chalk/dark/css-vars.css";
import "vxe-table/lib/style.css";
// 暗黑模式自定义变量
import "@/styles/dark/css-vars.css";
import "@/styles/index.scss";
import "uno.css";
// 过渡动画
import "animate.css";
// ===== 核心配置 =====
import { setupDirective } from "@/directives";
import { setupI18n } from "@/lang";
import { setupRouter } from "@/router";
import { setupStore } from "@/store";
// ===== 全局组件 =====
import { registerElementIcons } from "@/utils/register-components";
// ===== 第三方插件 =====
import VXETable from "vxe-table";
import { InstallCodeMirror } from "codemirror-editor-vue3";
import { configureVxeTable } from "@/config/vxe-table";
// ===== 路由守卫 =====
import { setupPermissionGuard } from "@/router/guards/permission";
// ===== 业务服务 =====
import { setupWebSocket } from "@/utils/websocket";
// 创建 Vue 应用实例
const app = createApp(App);
// 注册插件
app.use(setupPlugins);
// 1⃣ 核心配置
setupDirective(app);
setupRouter(app);
setupStore(app);
setupI18n(app);
// 2⃣ 全局组件
registerElementIcons(app);
// 3⃣ 第三方插件
configureVxeTable();
app.use(VXETable);
app.use(InstallCodeMirror);
// 4⃣ 路由守卫
setupPermissionGuard();
// 5⃣ WebSocket 初始化
setupWebSocket();
// 6⃣ 挂载应用
app.mount("#app");