Files
CN_Tool_client/doc/前端业务裁剪与清除清单.md

284 lines
8.4 KiB
Markdown
Raw Normal View History

2026-04-13 17:32:58 +08:00
# 前端业务裁剪与清除清单
## 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 当前判断
- 当前前端裁剪已完成主体删除工作
- 当前已完成一轮业务语义残留和无引用旧代码清理
- 当前重点已转向联动验证和历史工程问题收尾
- 在后端菜单与接口未同步彻底下线前,前端仍需保留动态菜单过滤作为保护措施