feat(web): 升级至 v3.0 并重构组件与引导流程

- 提取应用引导逻辑至 useAppBootstrap 组合式函数
- 增强日期选择器组件,支持全类型与格式自动推导
- 修复资源泄漏:清理 RAF、定时器、事件与 mitt 监听
- 修复退出登录逻辑与异步导出流程
- 迁移 ::v-deep 至 Vue 3 标准 :deep 语法
- 移除调试日志并改进类型定义与注释文档
This commit is contained in:
zhangtao
2026-05-11 23:37:11 +08:00
parent 7e7a5c97cb
commit 9a231aa58c
120 changed files with 2282 additions and 1931 deletions
+15 -2
View File
@@ -20,10 +20,23 @@ import { initElementPlus } from "./element-plus";
import { initElIcons } from "./icons";
import { initTerminal } from "./terminal";
export function initPlugins(app: App<Element>): void {
/**
* 插件注册入口 —— 调用顺序依赖说明:
*
* 1. initElIcons 图标注册(纯组件,无依赖,最先执行)
* 2. initStore Pinia 状态管理(路由守卫、指令、组件均依赖 store,须在 router 之前)
* 3. initRouter Vue Router(守卫中用到已初始化的 store)
* 4. initGlobDirectives 全局指令(v-auth、v-highlight 等,依赖 router 的 meta 权限)
* 5. initErrorHandle 全局错误处理(window.onerror、unhandledrejection)
* 6. initTerminal 终端/控制台相关
* 7. initI18n 国际化(依赖 Element Plus 部分类型,但 Element Plus 尚未注册,先注册语言包)
* 8. initCodeMirror CodeMirror 编辑器(独立注册,无依赖)
* 9. initElementPlus 最后注册 Element Plus,避免组件扫描过早触发(样式和组件完整注册)
*/
export async function initPlugins(app: App<Element>): Promise<void> {
initElIcons(app);
initStore(app);
initRouter(app);
await initRouter(app);
initGlobDirectives(app);
initErrorHandle(app);
initTerminal(app);