# P6→NS1/RNS1 缺失项 #17:任务列表的批量操作 ## 简要结论 - 状态:❌ 未解决 - 风险等级:🟡 低 - 前端无多选模式、无批量操作 UI,后端无批量操作接口。所有操作均为单任务粒度。 ## 详细审查 ### 审查范围 - `apps/miniprogram/miniprogram/pages/task-list/task-list.wxml` - `apps/miniprogram/miniprogram/pages/task-list/task-list.ts` - `apps/backend/app/routers/xcx_tasks.py` ### 发现 #### 前端 1. task-list.wxml 中无 checkbox/多选组件 2. task-list.ts 中无 `selectedTasks`/`isMultiSelect`/`batchMode` 等状态变量 3. 无"全选"/"批量标记完成"/"批量放弃"等操作按钮 4. 无编辑模式切换入口(如顶部"编辑"按钮) #### 后端 1. `xcx_tasks.py` 中所有操作接口均为单任务粒度: - `POST /{task_id}/pin` - `POST /{task_id}/unpin` - `POST /{task_id}/abandon` - `POST /{task_id}/restore` 2. 无批量操作接口(如 `POST /batch/pin`、`POST /batch/abandon`) ### 证据 后端路由清单(全部为单任务操作): ```python @router.post("/{task_id}/pin") # 单个置顶 @router.post("/{task_id}/unpin") # 单个取消置顶 @router.post("/{task_id}/abandon") # 单个放弃 @router.post("/{task_id}/restore") # 单个恢复 ``` task-list.ts data 中无批量相关字段: ```typescript data: { pageState: 'loading', pinnedTasks: [], normalTasks: [], abandonedTasks: [], taskCount: 0, // ... 无 selectedTasks、batchMode 等 } ``` ### 建议 1. 此功能优先级较低 — 当前任务列表规模(每日 10-30 条)下,单任务操作已满足需求 2. 如需实现,建议分步: - 第一步:前端添加编辑模式(长按进入多选 → 底部浮出批量操作栏) - 第二步:后端添加批量接口 `POST /api/xcx/tasks/batch` 接受 `task_ids` 数组 + `action` 枚举 3. 批量操作建议限制:单次最多选择 20 条,防止误操作 4. 建议在用户反馈确认需求后再实现,避免过度设计