107 lines
2.6 KiB
Markdown
107 lines
2.6 KiB
Markdown
|
|
# 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.py`
|
|||
|
|
- `backend/app/schemas/task.py`
|
|||
|
|
- `frontend/src/api/task.ts`
|
|||
|
|
|
|||
|
|
建议接口:
|
|||
|
|
- `GET /api/tasks`
|
|||
|
|
- `POST /api/tasks`
|
|||
|
|
- `GET /api/tasks/{task_id}`
|
|||
|
|
- `PATCH /api/tasks/{task_id}`
|
|||
|
|
- `DELETE /api/tasks/{task_id}`
|
|||
|
|
- `POST /api/tasks/{task_id}/subtasks`
|
|||
|
|
- `PATCH /api/tasks/{task_id}/subtasks/{subtask_id}`
|
|||
|
|
- `DELETE /api/tasks/{task_id}/subtasks/{subtask_id}`
|
|||
|
|
- `POST /api/tasks/{task_id}/subtasks/reorder`
|
|||
|
|
- `POST /api/tasks/{task_id}/dispatch`
|
|||
|
|
- `POST /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.py`
|
|||
|
|
- `backend/app/schemas/schedule_center.py`
|
|||
|
|
- `frontend/src/api/scheduleCenter.ts`
|
|||
|
|
|
|||
|
|
建议在 `ScheduleCenterDateOut` 增加:
|
|||
|
|
- `focus_tasks`
|
|||
|
|
- `quadrants`
|
|||
|
|
- `commander_summary`
|
|||
|
|
|
|||
|
|
### 2.4 前端 API 同步
|
|||
|
|
|
|||
|
|
`frontend/src/api/task.ts` 需要扩展:
|
|||
|
|
- detail 方法
|
|||
|
|
- subtask CRUD / reorder
|
|||
|
|
- dispatch 方法
|
|||
|
|
|
|||
|
|
`frontend/src/api/scheduleCenter.ts` 需要扩展:
|
|||
|
|
- `focus_tasks`
|
|||
|
|
- `quadrants`
|
|||
|
|
- `commander_summary` 类型
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 设计原则
|
|||
|
|
|
|||
|
|
1. **复用现有 task router,不另开 taskV2**
|
|||
|
|
2. **复用现有 schedule-center 聚合,不另开第二套 today-status API**
|
|||
|
|
3. **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. 依赖关系
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
依赖:Phase TS-1
|
|||
|
|
输出给:Phase TS-3 / TS-4 / TS-5
|
|||
|
|
```
|