# 项目管理列表重新分析前端实施记录

## 本次改动

- 新增项目列表“重新分析”接口封装
- 将项目管理列表中的“重新分析”按钮接入真实异步提交流程
- 为按钮补充提交态、成功提示和失败提示
- 新增两条前端源码契约测试，并完成生产构建冒烟验证

## 修改内容

- 在 `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 错误
- 本次未启动额外前端开发进程，无需清理测试进程
