refactor(frontend): 按需加载页面并清理未使用代码
Client Quality Gates / Shared client and Web (push) Has been cancelled
Client Quality Gates / macOS Desktop (push) Has been cancelled

- 将业务页面路由统一改为动态导入,拆分首屏入口与各功能模块构建产物。

- 将网页端和桌面端布局改为异步组件,避免两套平台布局同时进入初始包。

- 新增 Element Plus 按需安装入口,并通过全局配置组件统一注入中文语言包。

- 提取 API 运行时钩子,在应用启动时注入项目清理、令牌续期和认证失效退出能力。

- 将权限监控面板及地图资源改为延迟加载,补充地图加载状态、失败提示和切换竞态保护。

- 删除已被现有工作流替代的项目成员、接口权限、中心绑定、培训表单及旧项目首页等页面。

- 清理废弃的快捷操作、项目选择、用户选择、FAQ 表单、风险占位组件和旧地图辅助模块。

- 移除未使用的 API 方法、类型、字典、状态机、展示工具、样式和项目详情编辑逻辑。

- 开启 TypeScript 未使用变量与参数检查,并同步收紧相关测试和组件暴露类型。

- 移除未使用的 updater、date-fns 和 Sass 前端依赖,更新锁文件并删除旧 CSS 清洗插件。

- 更新路由、Axios、ETMF、通知、权限监控和桌面布局测试以覆盖重构后的边界。
This commit is contained in:
Cheng Zhou
2026-07-16 14:58:47 +08:00
parent 1d26646a96
commit 6b55c18610
65 changed files with 345 additions and 3639 deletions
+1 -18
View File
@@ -12,24 +12,7 @@ const tauriDebug = process.env.TAURI_ENV_DEBUG === "true";
export default defineConfig({
clearScreen: false,
envPrefix: ["VITE_", "TAURI_ENV_"],
plugins: [
vue(),
{
name: "sanitize-legacy-css",
generateBundle(_, bundle) {
for (const asset of Object.values(bundle)) {
if (asset.type !== "asset" || !asset.fileName.endsWith(".css") || typeof asset.source !== "string") {
continue;
}
asset.source = asset.source
.replace(/\.el-button::\-moz-focus-inner\{border:0\}/g, "")
.replace(/\.el-input__inner\[type=password\]::\-ms-reveal\{display:none\}/g, "")
.replace(/filter:alpha\(opacity=0\);/g, "")
.replace(/[^{}]*::\-webkit-scrollbar[^{}]*\{[^{}]*\}/g, "");
}
},
},
],
plugins: [vue()],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),