8.4 KiB
8.4 KiB
前端业务裁剪与清除清单
1. 目的
本文基于 doc/项目基础功能保留与业务裁剪方案.md,整理当前 frontend 目录下前端页面、接口、状态管理、入口配置中的保留项、清除项和联动调整项,为后续前端裁剪提供执行依据。
2. 裁剪原则
- 保留平台基础能力对应的前端页面与接口。
- 移除检测业务、设备业务、报告业务相关前端页面与接口。
- 保留通用请求能力、登录鉴权能力、菜单权限能力。
- 通讯底层能力如 WebSocket、SSE 只保留通用连接能力,不保留检测业务语义。
- 对“名称看起来是平台功能,但内容实际属于检测业务”的页面,按实际功能裁剪,不按目录名裁剪。
3. 建议保留的前端能力
3.1 登录与权限管理
建议保留:
frontend/src/views/login/index.vuefrontend/src/views/login/components/LoginForm.vuefrontend/src/views/authority/user/index.vuefrontend/src/views/authority/role/index.vuefrontend/src/views/authority/resource/index.vuefrontend/src/api/userfrontend/src/stores/modules/user.tsfrontend/src/stores/modules/auth.ts
3.2 平台基础管理
建议保留:
frontend/src/views/log/index.vuefrontend/src/views/system/dictionary/dictType/index.vuefrontend/src/views/system/dictionary/dictData/index.vuefrontend/src/views/system/dictionary/dictTree/index.vuefrontend/src/api/system/logfrontend/src/api/system/dictionaryfrontend/src/stores/modules/dict.ts
3.3 通用请求与通讯底层
建议保留:
frontend/src/api/index.tsfrontend/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.vuefrontend/src/views/system/dictionary/dictPq/index.vue
清除原因:
- 报告模板属于报告业务能力。
dictPq属于电能质量检测业务字典,不属于通用平台字典。
5. 建议清除的接口层
建议清除以下业务接口目录:
frontend/src/api/planfrontend/src/api/devicefrontend/src/api/homefrontend/src/api/resultfrontend/src/api/checkfrontend/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.vuefrontend/src/api/activate/index.ts
说明:
- 后端文档中
activate-tool被列为可选保留。 - 如果项目后续仍保留授权、激活码、许可文件能力,则前端激活相关页面和接口可以保留。
- 如果不再保留激活能力,应一并清理。
7.2 名称为系统配置但内容偏检测业务的页面
建议纳入删除候选:
frontend/src/views/system/base/index.vuefrontend/src/api/system/base/index.tsfrontend/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.tsfrontend/src/stores/modules/mode.ts
当前问题:
- 当前逻辑围绕“模拟式、数字式、比对式、场景切换、进入检测后显示菜单”设计。
- 如果检测业务整体下线,这套逻辑需要一起收缩或重构。
8.4 动态路由与菜单数据
需要联动确认:
frontend/src/routers/modules/dynamicRouter.ts
说明:
- 当前动态路由来源于后端菜单配置。
- 如果后端未同步清理业务菜单,前端即使删除页面,也仍可能收到失效路由配置。
9. 当前前端裁剪结论
建议前端最终保留的主要内容:
- 登录页
- 用户管理
- 角色管理
- 菜单/资源管理
- 日志管理
- 通用字典管理
- 通用请求封装
- 通用 WebSocket/SSE 底层能力
- 可选的激活能力
建议前端最终清除的主要内容:
- 首页检测门户
- 检测计划
- 被检设备
- 标准设备
- 检测源
- 控制源
- 检测脚本
- 检测结果
- 报告模板
- 电能质量业务字典
- 检测运行态 store
- 检测业务接口层
10. 推荐执行顺序
- 先确认激活能力是否保留。
- 再确定新的默认首页与登录后跳转页。
- 删除
home / plan / machine页面模块。 - 删除对应业务接口目录与检测业务 store。
- 调整
auth / mode / dynamicRouter / HOME_URL等入口逻辑。 - 最后联动清理后端菜单、权限、字典和动态路由来源。
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/userfrontend/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 当前判断
- 当前前端裁剪已完成主体删除工作
- 当前已完成一轮业务语义残留和无引用旧代码清理
- 当前重点已转向联动验证和历史工程问题收尾
- 在后端菜单与接口未同步彻底下线前,前端仍需保留动态菜单过滤作为保护措施