初始提交:全国记者站管理系统
This commit is contained in:
@@ -0,0 +1,505 @@
|
||||
# 2-task-RSMS-001:全国记者站管理系统开发任务文档
|
||||
|
||||
> 文档版本:v1.0
|
||||
> 状态:待确认
|
||||
> 编制日期:2026-08-01
|
||||
> 项目缩写:RSMS
|
||||
> 适用范围:V0.1 MVP 收尾 + V0.2 阶段
|
||||
|
||||
---
|
||||
|
||||
## 阶段 0:规范文档(前置,必须先完成)
|
||||
|
||||
- [x] TASK-DOC-001:创建 `pmdocs/` 目录结构(changes/、adr/)
|
||||
- **目标**:建立 PM 文档存放规范
|
||||
- **验收**:目录存在,CHANGELOG.md 已初始化
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-DOC-002:生成 `pmdocs/0-req-RSMS.md`(需求文档)
|
||||
- **目标**:固化需求范围、角色定义、状态机、NFR、验收标准
|
||||
- **映射**:REQ-AUTH~REQ-SYS, NFR-*, AC-*
|
||||
- **验收**:文档已创建,内容覆盖全部 REQ 编号
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-DOC-003:生成 `pmdocs/1-prd-RSMS.md`(产品需求文档)
|
||||
- **目标**:固化功能清单、UI/UX 规范、公共组件规划、版本规划
|
||||
- **映射**:PRD-FUNC-001~018,SCENE-001~004
|
||||
- **验收**:文档已创建,公共组件规划表已填充
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-DOC-004:生成本文档 `pmdocs/2-task-RSMS.md`
|
||||
- **目标**:任务拆分、编号、依赖、验收标准
|
||||
- **映射**:所有 REQ、PRD-FUNC
|
||||
- **验收**:本文档已创建,所有任务有验收标准
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-DOC-005:创建 `run.md`(运行手册)
|
||||
- **目标**:固化安装、启动、构建、迁移命令
|
||||
- **依赖**:TASK-DOC-004
|
||||
- **验收**:`run.md` 存在且所有命令可执行
|
||||
- **状态**:已完成
|
||||
|
||||
---
|
||||
|
||||
## 阶段 1:前端模块化重构
|
||||
|
||||
### 1.1 架构重构
|
||||
|
||||
- [x] TASK-FE-001:创建前端目录结构
|
||||
- **目标**:将单文件 `App.tsx` 拆分为模块化目录
|
||||
- **依赖**:TASK-DOC-005(run.md 中的构建命令验证)
|
||||
- **验收**:目录结构创建完成,import 路径调整后应用能正常启动
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-002:抽取 Layout 组件
|
||||
- **目标**:`PageLayout`、`Sidebar`、`TopBar` 独立
|
||||
- **验收**:`App.tsx` 中 Layout 部分替换为 `<PageLayout>`,功能行为不变
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-003:抽取 UI 基础组件
|
||||
- **目标**:`StatusBadge`、`EmptyState`、`LoadingBar` 独立为文件
|
||||
- **验收**:各组件独立导出,App.tsx 中的内联版本替换为 import
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-004:抽取 PageHeading / PanelHeader / MetricCard
|
||||
- **目标**:复用组件独立文件
|
||||
- **验收**:复用点替换为 import,Props 接口独立导出
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-005:抽取数据展示组件
|
||||
- **目标**:`RecordTable`(含 `review` / `compact` 模式)独立
|
||||
- **验收**:工作记录页、审核中心、档案页均使用同一组件
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-006:抽取领域组件
|
||||
- **目标**:`CreateRecordModal`、`RecordDrawer` 独立为 `modals/` 文件
|
||||
- **验收**:新建和详情交互行为与重构前一致
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-007:抽取页面组件
|
||||
- **目标**:每个页面(Dashboard / WorkList / ReviewCenter / People / Stations / Archive / Notices)独立文件
|
||||
- **验收**:`App.tsx` 变为路由级条件渲染,所有页面功能可用
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-009:创建 Context(角色与 Toast)
|
||||
- **目标**:`RoleContext` 管理当前角色,`ToastContext` 管理全局提示
|
||||
- **验收**:全局 Toast 正常工作,角色切换后所有页面响应正确
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-010:抽取 FilterBar 组件
|
||||
- **目标**:`FilterBar`(搜索 + 筛选下拉 + 重置)抽象为可复用组合组件
|
||||
- **验收**:工作记录页和人员管理页使用同一 FilterBar
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-011:抽取 Pagination 组件
|
||||
- **目标**:分页组件(当前 MVP 暂不使用,但预留)
|
||||
- **验收**:组件存在,数据量大时分页可用
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-012:样式模块化
|
||||
- **目标**:将 `styles.css` 按组件/页面拆分,引入 CSS 变量文件
|
||||
- **验收**:构建后样式与重构前一致,无布局错位
|
||||
- **状态**:已完成
|
||||
|
||||
- [x] TASK-FE-013:构建验证
|
||||
- **目标**:`npm run build` 通过,`npm run lint` 无错误
|
||||
- **依赖**:TASK-FE-001 ~ TASK-FE-012 全部完成
|
||||
- **验收**:构建产物正常,dist/ 输出正确
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
### 1.2 功能增强
|
||||
|
||||
- [x] TASK-FE-014:人员管理增删改
|
||||
- **目标**:总部可新增/编辑/停用人员;分站可编辑本站人员
|
||||
- **映射**:REQ-USER-001, REQ-USER-002
|
||||
- **依赖**:TASK-BE-006
|
||||
- **验收**:
|
||||
- 总部管理员可新增人员,填写姓名/站点/职务/入站时间后保存成功
|
||||
- 编辑后数据持久化,再次查询反映最新值
|
||||
- 停用后该人员不可登录(后端权限拦截)
|
||||
- **优先级**:P0
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-FE-015:记者站管理增删改
|
||||
- **目标**:总部可新增/编辑/停用记者站
|
||||
- **映射**:REQ-ORG-001, REQ-ORG-002
|
||||
- **依赖**:TASK-BE-007
|
||||
- **验收**:
|
||||
- 总部管理员可新增站点,填写名称/编码/地区/负责人后保存成功
|
||||
- 站点列表反映最新数据
|
||||
- **优先级**:P1
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-FE-016:通知公告发布
|
||||
- **目标**:总部可发布带附件的通知;用户可查看已读状态
|
||||
- **映射**:REQ-NOTICE-003, REQ-NOTICE-004
|
||||
- **依赖**:TASK-BE-008
|
||||
- **验收**:
|
||||
- 总部可创建通知,选择接收范围(全部/站点/角色)
|
||||
- 通知列表显示已读/未读统计
|
||||
- 重要通知需确认回执
|
||||
- **优先级**:P1
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-FE-017:个人中心
|
||||
- **目标**:用户查看/编辑个人资料、修改密码(模拟)
|
||||
- **映射**:REQ-HOME-004
|
||||
- **验收**:个人资料页正常展示和编辑
|
||||
- **优先级**:P2
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
---
|
||||
|
||||
## 阶段 2:后端扩展
|
||||
|
||||
### 2.1 API 扩展
|
||||
|
||||
- [x] TASK-BE-001:人员 CRUD API
|
||||
- **目标**:新增 `GET/POST /api/people`、`PATCH /api/people/:id`、`DELETE /api/people/:id`
|
||||
- **映射**:REQ-USER-001~003
|
||||
- **依赖**:TASK-BE-005(数据库迁移)
|
||||
- **接口契约**:
|
||||
- `GET /api/people?station=&status=` → 按站点和状态筛选
|
||||
- `POST /api/people` → body: `{ name, station, title, phone, joinedAt }`
|
||||
- `PATCH /api/people/:id` → body: `{ title?, status?, phone? }`
|
||||
- **验收**:curl 测试全部接口返回正确状态码和数据
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-002:记者站 CRUD API
|
||||
- **目标**:新增 `GET/POST /api/stations`、`PATCH /api/stations/:id`
|
||||
- **映射**:REQ-ORG-001, REQ-ORG-002
|
||||
- **依赖**:TASK-BE-005
|
||||
- **验收**:同上
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-003:通知公告 API
|
||||
- **目标**:新增 `GET/POST /api/notices`、`PATCH /api/notices/:id`、`GET /api/notices/:id/receipts`
|
||||
- **映射**:REQ-NOTICE-001~004
|
||||
- **验收**:
|
||||
- 总部发布通知后,其他角色可见
|
||||
- 已读回执记录正确
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-004:数据统计 API
|
||||
- **目标**:新增 `GET /api/stats/overview`、`GET /api/stats/records`、`GET /api/stats/scores`
|
||||
- **映射**:REQ-STAT-001~003
|
||||
- **验收**:
|
||||
- 总部返回全国维度统计
|
||||
- 分站返回本站维度统计
|
||||
- 记者返回本人维度统计
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-005:数据库迁移脚本
|
||||
- **目标**:将 inline schema 改为独立 migration 文件 + runner
|
||||
- **依赖**:无
|
||||
- **验收**:
|
||||
- `npm run db:migrate` 执行成功
|
||||
- `npm run db:seed` 可重新初始化数据
|
||||
- `npm run db:reset` 清空后重新迁移
|
||||
- **优先级**:P0
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
### 2.2 数据库迁移
|
||||
|
||||
- [x] TASK-BE-006:`people` 表迁移
|
||||
- **文件**:`migrations/003_create_people.sql`
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-007:`stations` 表迁移
|
||||
- **文件**:`migrations/004_create_stations.sql`
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-008:`notices` 和 `notice_receipts` 表迁移
|
||||
- **文件**:`migrations/005_create_notices.sql`
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-BE-009:`audit_logs` 表索引优化
|
||||
- **文件**:`migrations/006_optimize_indexes.sql`
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
### 2.3 后端测试
|
||||
|
||||
- [x] TASK-BE-010:API 接口集成测试
|
||||
- **目标**:使用 Node.js + Jest/Supertest 对核心接口写集成测试
|
||||
- **覆盖**:
|
||||
- 角色隔离(headquarters / station / reporter 查询结果不同)
|
||||
- 审核状态流转(draft→station_review→headquarters_review→archived)
|
||||
- 退回重提交
|
||||
- **验收**:测试全部通过,CI 环境可运行
|
||||
- **优先级**:P1(不影响 MVP 上线)
|
||||
- **状态**:已完成(2026-08-01)—— 34 项测试全部通过
|
||||
|
||||
---
|
||||
|
||||
## 阶段 3:考核规则配置(V0.2)
|
||||
|
||||
- [x] TASK-RULE-001:考核规则数据模型
|
||||
- **目标**:新增 `rules`、`rule_items`、`scores` 表
|
||||
- **字段**:规则 ID、版本、指标、计分公式、上限/下限、生效时间
|
||||
- **验收**:规则可 CRUD,变更历史可查
|
||||
- **状态**:已完成(2026-08-01)—— 迁移 007/008 已执行
|
||||
|
||||
- [x] TASK-RULE-002:规则可视化配置界面
|
||||
- **目标**:总部可在后台配置考核规则
|
||||
- **验收**:配置发布后,新提交记录使用新规则计分
|
||||
- **状态**:已完成(2026-08-01)—— RulesPage、CreateRuleModal 已完成
|
||||
|
||||
- [x] TASK-RULE-003:规则试算
|
||||
- **目标**:规则变更前用历史数据试算,输出预估得分变化
|
||||
- **验收**:试算结果可展示,不影响实际数据
|
||||
- **状态**:已完成(2026-08-01)—— scores/compute API 已实现试算逻辑
|
||||
|
||||
- [x] TASK-RULE-004:后端 rules/scores API
|
||||
- **目标**:rules CRUD、activate;scores 查询、计算触发
|
||||
- **验收**:54 项集成测试全部通过
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-RULE-005:前端考核配置页面
|
||||
- **目标**:RulesPage(列表+创建+编辑+激活);ScoresPage(评分结果+明细弹窗)
|
||||
- **验收**:tsc + vite build 通过,V0.2 新增 API 已接入
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-RULE-008:集成测试(rules/scores API)
|
||||
- **验收**:54 项测试全部通过
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-RULE-010:前端构建验证
|
||||
- **验收**:`npm run build` 通过(tsc + vite build)
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-RULE-011:考核配置前端优化
|
||||
- **目标**:规则预览 Drawer、指标试算交互、评分排行页面
|
||||
- **验收**:RulesPage 含规则预览 Drawer + 试算评分;LeaderboardPage 完整
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-RULE-006:个人中心接入考核数据
|
||||
- **目标**:当前登录记者/站点查看个人考核得分与排名
|
||||
- **验收**:个人中心展示考核卡片,接入 stats/scores API
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-RULE-007:积分排行榜
|
||||
- **目标**:全站记者/站点考核得分排名
|
||||
- **验收**:LeaderboardPage 按记者/站点分组排行,切换周期
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
---
|
||||
|
||||
## 阶段 4:ADR 架构决策
|
||||
|
||||
- [x] TASK-ADR-001:生成 ADR-001(技术栈选型)
|
||||
- **目标**:记录 React+Vite+Express+SQLite 选型理由
|
||||
- **内容**:备选方案、最终决策、权衡分析
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
- [x] TASK-ADR-002:生成 ADR-002(认证方案)
|
||||
- **目标**:记录角色模拟方案及升级路径
|
||||
- **内容**:当前方案(header 传参)、二期目标(JWT+真实认证)
|
||||
- **风险**:header 可被伪造,仅适合内部演示
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
---
|
||||
|
||||
## 阶段 5:`run.md` 创建
|
||||
|
||||
- [x] TASK-DOC-005:创建 `run.md`
|
||||
- **目标**:固化所有运行、构建、迁移、测试命令
|
||||
- **依赖**:TASK-BE-005(数据库迁移脚本完成)
|
||||
- **内容**:
|
||||
- 技术栈清单(Node.js >=18, npm, SQLite)
|
||||
- 安装命令:`npm install`
|
||||
- 开发命令:`npm run dev`(全栈)、`npm run web`(仅前端)、`npm run server`(仅后端)
|
||||
- 构建命令:`npm run build`
|
||||
- Lint:`npm run lint`
|
||||
- 数据库:`npm run db:migrate` / `db:seed` / `db:reset`
|
||||
- 环境变量:`API_PORT`(默认 8787)
|
||||
- 端口清单:Vite:5173, API:8787
|
||||
- 常见问题:
|
||||
- 端口占用处理
|
||||
- SQLite WAL 文件说明
|
||||
- 前端热重载说明
|
||||
- **验收**:`run.md` 存在,新人按文档可启动完整项目
|
||||
- **状态**:已完成(2026-08-01)
|
||||
|
||||
---
|
||||
|
||||
## 任务依赖关系图
|
||||
|
||||
```
|
||||
TASK-DOC-004 ──▶ TASK-DOC-005
|
||||
│
|
||||
TASK-BE-005 ──┬──▶ TASK-FE-001 ──▶ TASK-FE-002 ──▶ TASK-FE-003 ──▶ TASK-FE-004
|
||||
│ │
|
||||
│ ▼
|
||||
│ TASK-FE-005 ──▶ TASK-FE-006 ──▶ TASK-FE-007
|
||||
│ │
|
||||
│ ▼
|
||||
│ TASK-FE-008 ──▶ TASK-FE-009 ──▶ TASK-FE-010
|
||||
│ │ │
|
||||
│ ▼ ▼
|
||||
│ TASK-FE-011 ──▶ TASK-FE-012 ──▶ TASK-FE-013
|
||||
│
|
||||
├──▶ TASK-BE-001 ──▶ TASK-FE-014
|
||||
├──▶ TASK-BE-002 ──▶ TASK-FE-015
|
||||
├──▶ TASK-BE-003 ──▶ TASK-FE-016
|
||||
├──▶ TASK-BE-004
|
||||
├──▶ TASK-BE-006
|
||||
├──▶ TASK-BE-007
|
||||
├──▶ TASK-BE-008
|
||||
└──▶ TASK-BE-009
|
||||
|
||||
TASK-BE-010 ──(并行,不阻塞主要流程)
|
||||
|
||||
TASK-ADR-001, TASK-ADR-002 ──(随时可做)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 优先级排序(建议执行顺序)
|
||||
|
||||
### 第一梯队(P0,必须完成)
|
||||
|
||||
1. `TASK-DOC-004` — 确认任务文档(本任务)
|
||||
2. `TASK-DOC-005` — 创建 `run.md`
|
||||
3. `TASK-FE-001` — 前端目录结构
|
||||
4. `TASK-FE-002` — Layout 组件
|
||||
5. `TASK-FE-005` — RecordTable 抽取
|
||||
6. `TASK-FE-006` — CreateRecordModal / RecordDrawer 抽取
|
||||
7. `TASK-FE-007` — 页面组件拆分
|
||||
8. `TASK-FE-013` — 构建验证
|
||||
|
||||
### 第二梯队(P1,MVP 完善)
|
||||
|
||||
9. `TASK-FE-014` — 人员管理增删改
|
||||
10. `TASK-BE-005` — 数据库迁移脚本
|
||||
11. `TASK-BE-006` — people 表迁移
|
||||
12. `TASK-BE-001` — 人员 CRUD API
|
||||
13. `TASK-BE-007` — stations 表迁移
|
||||
14. `TASK-BE-002` — 记者站 CRUD API
|
||||
15. `TASK-FE-015` — 记者站管理页面
|
||||
16. `TASK-BE-008` — notices 表迁移
|
||||
17. `TASK-BE-003` — 通知公告 API
|
||||
18. `TASK-FE-016` — 通知发布页面
|
||||
19. `TASK-BE-009` — 索引优化
|
||||
|
||||
### 第三梯队(P1/P2,增强功能)
|
||||
|
||||
20. `TASK-BE-004` — 数据统计 API
|
||||
21. `TASK-FE-010` — FilterBar 抽取
|
||||
22. `TASK-FE-011` — Pagination 抽取
|
||||
23. `TASK-FE-017` — 个人中心
|
||||
24. `TASK-BE-010` — 后端集成测试
|
||||
25. `TASK-ADR-001` — ADR-001 补录
|
||||
26. `TASK-ADR-002` — ADR-002 创建
|
||||
|
||||
### 第四梯队(V0.2 考核规则)
|
||||
|
||||
> 关联变更文档:`pmdocs/changes/2026-08-01-001-V0.2考核规则配置.md`
|
||||
> 依赖:V0.1 MVP 全部完成(TASK-BE-010 集成测试通过)
|
||||
|
||||
**阶段 A:数据模型与迁移**
|
||||
|
||||
27. `TASK-RULE-001` — 创建 rules / rule_items 表(migration 007)
|
||||
- 目标:新增 `rules`(考核规则)和 `rule_items`(指标项)两张表
|
||||
- 需求:CHG-20260801-001 四维度指标数据模型
|
||||
- 验收标准:migration 可执行,rollback 可逆,字段符合设计文档
|
||||
- 依赖:TASK-BE-005(迁移框架)
|
||||
- 阶段:A
|
||||
|
||||
28. `TASK-RULE-002` — 创建 scores 表(migration 008)
|
||||
- 目标:新增 `scores`(评分结果)表,关联 rules / work_records
|
||||
- 需求:CHG-20260801-001 评分结果存储
|
||||
- 验收标准:migration 可执行,rollback 可逆,索引正确
|
||||
- 依赖:TASK-RULE-001
|
||||
- 阶段:A
|
||||
|
||||
29. `TASK-RULE-003` — 插入默认考核指标模板(migration 009 / seed)
|
||||
- 目标:seed 默认考核指标模板(6 个指标覆盖数量/质量/时效/合规四维度)
|
||||
- 需求:CHG-20260801-001 默认指标映射
|
||||
- 验收标准:seed 数据可查询,`rules` 表有 1 条草稿状态记录
|
||||
- 依赖:TASK-RULE-001
|
||||
- 阶段:A
|
||||
|
||||
**阶段 B:后端 API**
|
||||
|
||||
30. `TASK-RULE-004` — 规则 CRUD API
|
||||
- 目标:实现 `/api/rules`(列表)、`/api/rules/:id`(详情)、`POST`(创建)、`PATCH`(更新)、`POST /api/rules/:id/activate`(激活)
|
||||
- 需求:CHG-20260801-001 API 接口规划
|
||||
- 验收标准:headquarters 角色可操作,激活后旧版本自动归档
|
||||
- 依赖:TASK-RULE-001
|
||||
- 阶段:B
|
||||
|
||||
31. `TASK-RULE-005` — 评分 API + 自动计算引擎
|
||||
- 目标:实现 `/api/scores`(列表/详情)、`POST /api/scores/compute`(触发计算)
|
||||
- 需求:CHG-20260801-001 评分计算流程(指标聚合 → 加权求和 → 结果记录)
|
||||
- 验收标准:手动触发可对指定记者/站点/周期计算总分及维度分
|
||||
- 依赖:TASK-RULE-002, TASK-RULE-003
|
||||
- 阶段:B
|
||||
|
||||
**阶段 C:前端**
|
||||
|
||||
32. `TASK-RULE-006` — 考核规则管理页面
|
||||
- 目标:总部角色可查看规则列表、创建规则(含指标项编辑)、激活规则
|
||||
- 需求:CHG-20260801-001 前端配置界面
|
||||
- 验收标准:规则列表/编辑器/激活流程完整,加载+空态+错误状态覆盖
|
||||
- 依赖:TASK-RULE-004
|
||||
- 阶段:C
|
||||
|
||||
33. `TASK-RULE-007` — 评分结果查看页面
|
||||
- 目标:总部可按记者/站点/周期查看评分结果,含各维度得分明细
|
||||
- 需求:CHG-20260801-001 评分结果展示
|
||||
- 验收标准:表格+筛选+分页完整,评分明细可展开
|
||||
- 依赖:TASK-RULE-005
|
||||
- 阶段:C
|
||||
|
||||
**阶段 D:集成与文档**
|
||||
|
||||
34. `TASK-RULE-008` — 考核规则 API 集成测试
|
||||
- 目标:Jest + Supertest 覆盖 rules/scores 全部 API 端点
|
||||
- 验收标准:覆盖率 > 90%,角色权限隔离验证
|
||||
- 依赖:TASK-RULE-004, TASK-RULE-005
|
||||
- 阶段:D
|
||||
|
||||
35. `TASK-RULE-009` — `run.md` 更新(V0.2 数据库结构 + API)
|
||||
- 目标:补充 V0.2 新增表结构、API 接口到 `run.md`
|
||||
- 依赖:TASK-RULE-001, TASK-RULE-002, TASK-RULE-004, TASK-RULE-005
|
||||
- 阶段:D
|
||||
|
||||
36. `TASK-RULE-010` — 前端构建验证
|
||||
- 目标:`npm run build` 通过,无新增 lint 错误
|
||||
- 依赖:TASK-RULE-006, TASK-RULE-007
|
||||
- 阶段:D
|
||||
|
||||
---
|
||||
|
||||
## 测试策略
|
||||
|
||||
| 任务 | 测试类型 | 工具 | 覆盖目标 |
|
||||
|---|---|---|---|
|
||||
| TASK-FE-013 | 构建验证 | `npm run build` | 编译通过,类型正确 |
|
||||
| TASK-FE-001~012 | 回归测试 | 手工 | 重构后所有交互行为不变 |
|
||||
| TASK-BE-001~004 | 集成测试 | Jest + Supertest | 接口状态码、权限隔离、数据正确性 |
|
||||
| TASK-BE-005~009 | 数据库测试 | 手工 + SQL | migration 可执行、seed 正确 |
|
||||
| TASK-RULE-008 | 集成测试 | Jest + Supertest | rules/scores API,覆盖率 > 90% |
|
||||
| TASK-RULE-010 | 构建验证 | `npm run build` | V0.2 前端编译通过 |
|
||||
|
||||
---
|
||||
|
||||
## 进度记录
|
||||
|
||||
| 日期 | 完成任务 | 备注 |
|
||||
|---|---|---|
|
||||
| 2026-08-01 | TASK-DOC-001~003 | 规范文档目录和 CHANGELOG 已创建 |
|
||||
| 2026-08-01 | TASK-DOC-002 | `pmdocs/0-req-RSMS.md` 已创建 |
|
||||
| 2026-08-01 | TASK-DOC-003 | `pmdocs/1-prd-RSMS.md` 已创建 |
|
||||
| 2026-08-01 | TASK-DOC-004 | `pmdocs/2-task-RSMS.md` 已创建 |
|
||||
| 2026-08-01 | TASK-FE-001~007, TASK-FE-009~012 | 前端模块化重构完成,构建验证通过(2026-08-01) |
|
||||
| 2026-08-01 | TASK-DOC-005 | `run.md` 已创建 |
|
||||
| 2026-08-01 | TASK-BE-005~009 | 数据库迁移框架 + 6 个迁移文件 + `db:seed` 命令已验证通过 |
|
||||
| 2026-08-01 | TASK-BE-001~004 | 人员 CRUD、记者站 CRUD、通知公告、数据统计 API 已完成 |
|
||||
| 2026-08-01 | TASK-FE-014~017 | 人员管理、记者站管理、通知公告、个人中心页面 API 接入完成 |
|
||||
| 2026-08-01 | TASK-ADR-001~002 | 技术栈选型 ADR、认证方案 ADR 已补录完成 |
|
||||
| 2026-08-01 | TASK-BE-010 | 后端集成测试 34 项全部通过(Jest + Supertest,覆盖角色隔离、审核流转、CRUD) |
|
||||
| 2026-08-01 | TASK-RULE-001~010 | V0.2 考核规则任务文档已细化,关联 CHG-20260801-001 |
|
||||
| 2026-08-01 | TASK-RULE-001~003, RULE-004~005 | V0.2 考核规则后端 API + 前端页面已完成,集成测试 54 项全部通过,构建验证通过 |
|
||||
| 2026-08-01 | TASK-RULE-009 | `run.md` 已更新(测试命令、迁移管理、V0.2 表结构与 API 文档) |
|
||||
| 2026-08-01 | TASK-RULE-006/011 | 个人中心接入考核数据 + 考核配置前端优化(含规则预览 Drawer + 试算评分 + LeaderboardPage) |
|
||||
Reference in New Issue
Block a user