# 前端业务裁剪与清除清单 ## 1. 目的 本文基于 `doc/项目基础功能保留与业务裁剪方案.md`,整理当前 `frontend` 目录下前端页面、接口、状态管理、入口配置中的保留项、清除项和联动调整项,为后续前端裁剪提供执行依据。 ## 2. 裁剪原则 - 保留平台基础能力对应的前端页面与接口。 - 移除检测业务、设备业务、报告业务相关前端页面与接口。 - 保留通用请求能力、登录鉴权能力、菜单权限能力。 - 通讯底层能力如 WebSocket、SSE 只保留通用连接能力,不保留检测业务语义。 - 对“名称看起来是平台功能,但内容实际属于检测业务”的页面,按实际功能裁剪,不按目录名裁剪。 ## 3. 建议保留的前端能力 ### 3.1 登录与权限管理 建议保留: - `frontend/src/views/login/index.vue` - `frontend/src/views/login/components/LoginForm.vue` - `frontend/src/views/authority/user/index.vue` - `frontend/src/views/authority/role/index.vue` - `frontend/src/views/authority/resource/index.vue` - `frontend/src/api/user` - `frontend/src/stores/modules/user.ts` - `frontend/src/stores/modules/auth.ts` ### 3.2 平台基础管理 建议保留: - `frontend/src/views/log/index.vue` - `frontend/src/views/system/dictionary/dictType/index.vue` - `frontend/src/views/system/dictionary/dictData/index.vue` - `frontend/src/views/system/dictionary/dictTree/index.vue` - `frontend/src/api/system/log` - `frontend/src/api/system/dictionary` - `frontend/src/stores/modules/dict.ts` ### 3.3 通用请求与通讯底层 建议保留: - `frontend/src/api/index.ts` - `frontend/src/utils/webSocketClient.ts` 说明: - `api/index.ts` 中的 Axios 封装、Token 处理、SSE 基础能力可保留。 - `webSocketClient.ts` 可保留为通用连接客户端,但后续需要去掉与“预检、检测、对比检测”相关的业务语义。 ## 4. 建议清除的前端页面 ### 4.1 首页与检测入口 建议清除整个 `home` 模块: - `frontend/src/views/home` 清除原因: - 当前首页并非平台门户,而是检测模式入口、检测统计总览、设备检测、报告生成、归档、数据操作入口。 - 与后端文档中“删除检测业务域”的目标一致。 ### 4.2 检测计划模块 建议清除整个 `plan` 模块: - `frontend/src/views/plan` 清除原因: - 对应后端明确下线的检测计划管理能力。 - 页面中包含预检、自动检测、统计分析、子计划管理等完整检测业务流程。 ### 4.3 设备与检测资源模块 建议清除整个 `machine` 模块: - `frontend/src/views/machine` 包含但不限于: - 被检设备 - 标准设备 - 检测源 - 控制源 - 检测脚本 - 误差体系 - 设备类型 - ICD ### 4.4 报告模板与业务字典页面 建议清除: - `frontend/src/views/system/template/index.vue` - `frontend/src/views/system/dictionary/dictPq/index.vue` 清除原因: - 报告模板属于报告业务能力。 - `dictPq` 属于电能质量检测业务字典,不属于通用平台字典。 ## 5. 建议清除的接口层 建议清除以下业务接口目录: - `frontend/src/api/plan` - `frontend/src/api/device` - `frontend/src/api/home` - `frontend/src/api/result` - `frontend/src/api/check` - `frontend/src/api/socket/socket.ts` 说明: - `api/socket/socket.ts` 虽然名称包含 `socket`,但当前封装的是检测业务动作,如预检、恢复检测、对比检测、导出对齐数据,不属于纯通讯底层接口。 ## 6. 建议清除的状态管理 建议清除: - `frontend/src/stores/modules/check.ts` 清除原因: - 该 store 存储的是检测设备、检测计划、检测项、复检方式、通道连线等检测运行态数据。 - 与平台保留能力无关。 ## 7. 条件保留或待确认项 ### 7.1 激活能力 可选保留: - `frontend/src/views/system/versionRegister/index.vue` - `frontend/src/api/activate/index.ts` 说明: - 后端文档中 `activate-tool` 被列为可选保留。 - 如果项目后续仍保留授权、激活码、许可文件能力,则前端激活相关页面和接口可以保留。 - 如果不再保留激活能力,应一并清理。 ### 7.2 名称为系统配置但内容偏检测业务的页面 建议纳入删除候选: - `frontend/src/views/system/base/index.vue` - `frontend/src/api/system/base/index.ts` - `frontend/src/api/system/versionRegister/index.ts` 原因: - 当前页面内容实际是检测配置、有效数据配置、模式相关配置。 - 不属于纯平台基础配置页面。 ## 8. 必须联动调整的入口与配置 ### 8.1 首页默认路由 需要调整: - `frontend/src/config/index.ts` 当前问题: - `HOME_URL` 当前指向 `/home/index`。 - 如果 `home` 模块删除,必须同步修改默认首页。 ### 8.2 登录后跳转逻辑 需要调整: - `frontend/src/views/login/components/LoginForm.vue` 当前问题: - 登录后默认跳转 `HOME_URL`。 - 删除 `home` 后必须同步修改跳转目标。 ### 8.3 模式切换与菜单显示逻辑 需要调整: - `frontend/src/stores/modules/auth.ts` - `frontend/src/stores/modules/mode.ts` 当前问题: - 当前逻辑围绕“模拟式、数字式、比对式、场景切换、进入检测后显示菜单”设计。 - 如果检测业务整体下线,这套逻辑需要一起收缩或重构。 ### 8.4 动态路由与菜单数据 需要联动确认: - `frontend/src/routers/modules/dynamicRouter.ts` 说明: - 当前动态路由来源于后端菜单配置。 - 如果后端未同步清理业务菜单,前端即使删除页面,也仍可能收到失效路由配置。 ## 9. 当前前端裁剪结论 建议前端最终保留的主要内容: - 登录页 - 用户管理 - 角色管理 - 菜单/资源管理 - 日志管理 - 通用字典管理 - 通用请求封装 - 通用 WebSocket/SSE 底层能力 - 可选的激活能力 建议前端最终清除的主要内容: - 首页检测门户 - 检测计划 - 被检设备 - 标准设备 - 检测源 - 控制源 - 检测脚本 - 检测结果 - 报告模板 - 电能质量业务字典 - 检测运行态 store - 检测业务接口层 ## 10. 推荐执行顺序 1. 先确认激活能力是否保留。 2. 再确定新的默认首页与登录后跳转页。 3. 删除 `home / plan / machine` 页面模块。 4. 删除对应业务接口目录与检测业务 store。 5. 调整 `auth / mode / dynamicRouter / HOME_URL` 等入口逻辑。 6. 最后联动清理后端菜单、权限、字典和动态路由来源。 ## 11. 当前执行进度(2026-04-08) ### 11.1 已完成 - `frontend/src/views/home` 已删除 - `frontend/src/views/plan` 已删除 - `frontend/src/views/machine` 已删除 - `frontend/src/views/system/template/index.vue` 已删除 - `frontend/src/views/system/dictionary/dictPq/index.vue` 已删除 - `frontend/src/views/system/base/index.vue` 已删除 - `frontend/src/api/plan` 已删除 - `frontend/src/api/device` 已删除 - `frontend/src/api/home` 已删除 - `frontend/src/api/result` 已删除 - `frontend/src/api/check` 已删除 - `frontend/src/stores/modules/check.ts` 已删除 - `frontend/src/config/index.ts` 中 `HOME_URL` 已调整为 `/authority/user` - `frontend/src/views/login/components/LoginForm.vue` 登录后已跳转新的平台首页 - `frontend/src/stores/modules/auth.ts` 已增加业务菜单过滤逻辑,用于屏蔽已下线页面对应菜单 - `frontend/src/api/user/login/index.ts` 中残留的检测业务接口定义已删除 - `frontend/src/stores/modules/mode.ts` 已删除,退出登录时不再清理检测模式/场景状态 - `frontend/src/components/ImportExcel` 已删除 - `frontend/src/components/ImportZip` 已删除 - `frontend/src/views/authority/resource/index.vue` 中误留的业务权限标识已修正 - `frontend/src/api/system/dictionary/dictData.ts` 业务静态字典样例已删除 - `frontend/src/api/system/log/logData.ts` 业务日志样例已删除 ### 11.2 进行中 - 后端菜单、权限、字典与接口若仍保留旧业务数据,前端仍需要依赖 `auth.ts` 中的过滤逻辑进行保护 - 构建配置、全局类型、类型导入规范等历史工程问题仍存在,但不属于本轮业务裁剪直接目标 ### 11.3 当前判断 - 当前前端裁剪已完成主体删除工作 - 当前已完成一轮业务语义残留和无引用旧代码清理 - 当前重点已转向联动验证和历史工程问题收尾 - 在后端菜单与接口未同步彻底下线前,前端仍需保留动态菜单过滤作为保护措施