Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2.6 KiB
2.6 KiB
Phase TS-2:Task API 与 Schedule 聚合扩展
日期:2026-04-08 状态:待实施
1. 阶段目标
扩展后端 Task API 与 Schedule Center 聚合,让前端可以真实创建、读取、编辑、分配任务,并让 Today Status 直接消费真实聚合视图。
2. 详细任务
2.1 扩展 Task API
文件:
backend/app/routers/task.pybackend/app/schemas/task.pyfrontend/src/api/task.ts
建议接口:
GET /api/tasksPOST /api/tasksGET /api/tasks/{task_id}PATCH /api/tasks/{task_id}DELETE /api/tasks/{task_id}POST /api/tasks/{task_id}/subtasksPATCH /api/tasks/{task_id}/subtasks/{subtask_id}DELETE /api/tasks/{task_id}/subtasks/{subtask_id}POST /api/tasks/{task_id}/subtasks/reorderPOST /api/tasks/{task_id}/dispatchPOST /api/tasks/{task_id}/subtasks/{subtask_id}/dispatch
2.2 Task detail 输出
GET /api/tasks/{task_id} 建议返回:
- task 基础字段
- subtasks
- history
- dispatch 摘要
2.3 扩展 Schedule Center 聚合
文件:
backend/app/routers/schedule_center.pybackend/app/schemas/schedule_center.pyfrontend/src/api/scheduleCenter.ts
建议在 ScheduleCenterDateOut 增加:
focus_tasksquadrantscommander_summary
2.4 前端 API 同步
frontend/src/api/task.ts 需要扩展:
- detail 方法
- subtask CRUD / reorder
- dispatch 方法
frontend/src/api/scheduleCenter.ts 需要扩展:
focus_tasksquadrantscommander_summary类型
3. 设计原则
- 复用现有 task router,不另开 taskV2
- 复用现有 schedule-center 聚合,不另开第二套 today-status API
- dispatch 是显式动作,不隐含在普通 update 里
4. 核心文件清单
| 文件 | 操作 | 说明 |
|---|---|---|
backend/app/routers/task.py |
修改 | 扩展任务、子任务、派发 API |
backend/app/schemas/task.py |
修改 | detail/subtask/dispatch schema |
backend/app/routers/schedule_center.py |
修改 | 扩展今日聚合 |
backend/app/schemas/schedule_center.py |
修改 | 扩展 response model |
frontend/src/api/task.ts |
修改 | 前端任务 API 能力补齐 |
frontend/src/api/scheduleCenter.ts |
修改 | 前端聚合类型补齐 |
5. 验收标准
- Task detail 能返回 subtasks / history / dispatch 信息
- 子任务 CRUD / reorder API 设计明确
- dispatch API 明确独立
schedule-center/date可直接供 Today Status 使用- 前端 API 类型已同步
6. 依赖关系
依赖:Phase TS-1
输出给:Phase TS-3 / TS-4 / TS-5