Files
CN_Tool_client/doc/前端业务裁剪与清除清单.md
2026-04-13 17:32:58 +08:00

8.4 KiB
Raw Permalink Blame History

前端业务裁剪与清除清单

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.tsHOME_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 当前判断

  • 当前前端裁剪已完成主体删除工作
  • 当前已完成一轮业务语义残留和无引用旧代码清理
  • 当前重点已转向联动验证和历史工程问题收尾
  • 在后端菜单与接口未同步彻底下线前,前端仍需保留动态菜单过滤作为保护措施