diff --git a/docs/reports/implementation/2026-03-24-project-list-reanalyze-frontend-record.md b/docs/reports/implementation/2026-03-24-project-list-reanalyze-frontend-record.md new file mode 100644 index 00000000..d42e426d --- /dev/null +++ b/docs/reports/implementation/2026-03-24-project-list-reanalyze-frontend-record.md @@ -0,0 +1,33 @@ +# 项目管理列表重新分析前端实施记录 + +## 本次改动 + +- 新增项目列表“重新分析”接口封装 +- 将项目管理列表中的“重新分析”按钮接入真实异步提交流程 +- 为按钮补充提交态、成功提示和失败提示 +- 新增两条前端源码契约测试,并完成生产构建冒烟验证 + +## 修改内容 + +- 在 `ruoyi-ui/src/api/ccdiProject.js` 中新增 `rebuildProjectTags(data)`,统一封装 `POST /ccdi/project/tags/rebuild` +- 在 `ruoyi-ui/src/views/ccdiProject/index.vue` 中引入 `rebuildProjectTags`,将 `handleReAnalyze(row)` 改为真实异步提交 +- 提交成功后统一提示“已开始重新分析”,并立即调用 `getList()` 刷新列表状态 +- 提交失败时优先透传 `error.message`,无明确业务文案时回退为“重新分析失败,请稍后重试” +- 在 `ruoyi-ui/src/views/ccdiProject/components/ProjectTable.vue` 中新增 `reAnalyzeLoadingMap` 属性,仅对“重新分析”按钮增加 `loading` 与禁用态 +- 新增 `project-list-reanalyze-api.test.js` 和 `project-list-reanalyze-flow.test.js`,锁定接口地址、调用方式、成功提示、列表刷新、按钮提交态和失败提示契约 + +## 测试与验证 + +```bash +cd ruoyi-ui +node tests/unit/project-list-reanalyze-api.test.js +node tests/unit/project-list-reanalyze-flow.test.js +npm run build:prod +``` + +## 结果 + +- 两条前端源码契约测试通过 +- 前端生产构建通过 +- 构建过程中仅出现既有静态资源体积告警,无新增模板编译或 ESLint 错误 +- 本次未启动额外前端开发进程,无需清理测试进程