Story 1.4: 建立任务管理和执行闭环
Status
Draft
Story
As a 用户, I want 将AI建议转化为可执行的任务并跟踪进度, so that 我能够真正落实心理健康改善行动。
Acceptance Criteria
- AC1: 支持从AI建议一键创建任务
- AC2: 提供任务分类、优先级设置和截止日期管理
- AC3: 实现任务执行状态跟踪和完成度统计
- AC4: 支持任务提醒和打卡功能
- AC5: 生成任务完成报告和成就反馈
Tasks / Subtasks
[ ] Task 1: 实现任务创建和管理功能 (AC: 1, 2)
- [ ] 开发从AI建议一键创建任务的流程
- [ ] 实现任务分类和标签系统
- [ ] 添加优先级设置和截止日期管理
- [ ] 支持任务模板和快速创建
- [ ] 实现任务编辑和删除功能
[ ] Task 2: 构建任务执行跟踪系统 (AC: 3, 4)
- [ ] 开发任务状态管理(待执行/进行中/已完成/已跳过/延期)
- [ ] 实现番茄计时器和专注模式
- [ ] 添加任务提醒和推送通知
- [ ] 开发任务打卡和签到功能
- [ ] 实现执行进度追踪和统计
[ ] Task 3: 开发任务复盘和反馈系统 (AC: 5)
- [ ] 设计任务复盘表单和流程
- [ ] 实现情绪前后对比评分
- [ ] 添加执行体会和困难记录
- [ ] 开发任务完成报告生成
- [ ] 实现成就反馈和徽章解锁
[ ] Task 4: 建立多来源任务整合 (Integration Enhancement)
- [ ] 整合AI建议、社区行动卡、真人指派等任务来源
- [ ] 实现任务来源标识和追踪
- [ ] 开发跨平台任务同步机制
- [ ] 添加任务关联和依赖管理
- [ ] 实现任务数据分析和洞察
[ ] Task 5: 实现任务数据可视化 (AC: 3, 5)
- [ ] 开发任务完成度统计图表
- [ ] 实现任务执行趋势分析
- [ ] 添加任务类别和时间分布分析
- [ ] 开发个人成长数据面板
- [ ] 实现数据导出和分享功能
[ ] Task 6: 完善数据模型和服务层 (AC: 1, 2, 3, 4, 5)
- [ ] 设计和实现behavior_tasks数据库集合
- [ ] 创建task_timer_sessions计时记录集合
- [ ] 创建task_reviews复盘记录集合
- [ ] 扩展tasks.js服务,支持完整任务管理
- [ ] 实现任务与情绪打卡的关联
[ ] Task 7: 实现taskWorkflow云函数 (AC: 1, 2, 3, 4, 5)
- [ ] 实现主要任务CRUD操作
- [ ] 添加任务状态流转逻辑
- [ ] 实现任务提醒和通知功能
- [ ] 添加任务统计和分析API
- [ ] 实现与建议和社区系统的集成
[ ] Task 8: 集成现有功能验证 (Integration Verification)
- [ ] 验证与taskWorkflow云函数的数据同步
- [ ] 确认任务数据正确写入behavior_tasks数据库集合
- [ ] 测试任务推送通知的准确性和及时性
- [ ] 验证与今天页任务预览的集成
- [ ] 测试与周报系统的数据流转
[ ] Task 9: 编写单元测试和集成测试
- [ ] 为任务管理功能编写测试用例
- [ ] 为番茄计时器编写测试
- [ ] 编写任务状态流转测试
- [ ] 创建复盘功能测试
- [ ] 添加性能和数据一致性测试
Dev Notes
Previous Story Insights
基于前三个故事的情绪打卡、AI建议和社区功能,本故事需要将所有来源的建议和行动整合为统一的任务管理系统,形成完整的"情绪→建议→任务→复盘"闭环。
Data Models
behavior_tasks集合设计 [Source: docs/功能文档/功能-任务卡执行闭环.md#数据需求]
- 主要字段:
task_id: string - 任务唯一标识user_id: string - 用户标识title: string - 任务标题description: string - 任务描述source: string - 任务来源(suggestion/community/action_card/self/human)category: string - 任务分类status: string - 任务状态(pending/in_progress/completed/skipped/delayed)priority: string - 优先级(high/medium/low)estimated_duration_minutes: number - 预计执行时长due_at: date - 截止时间origin_reference_id: string - 来源对象IDchecklist_steps: array - 检查清单步骤
task_timer_sessions集合 [Source: docs/功能文档/功能-任务卡执行闭环.md#数据需求]
- 主要字段:
session_id: string - 计时会话唯一标识task_id: string - 关联任务IDstart_at: date - 开始时间end_at: date - 结束时间paused_duration: number - 暂停时长(秒)completed: boolean - 是否完成
task_reviews集合 [Source: docs/功能文档/功能-任务卡执行闭环.md#数据需求]
- 主要字段:
review_id: string - 复盘唯一标识task_id: string - 关联任务IDpre_mood_score: number - 执行前情绪评分post_mood_score: number - 执行后情绪评分feedback_text: string - 文字反馈difficulty_rating: number - 难度评分needs_human_followup: boolean - 是否需要真人跟进
API Specifications
服务层接口扩展 [Source: miniprogram/services/tasks.js]
getTodayTasks()- 获取今日任务列表createTaskFromSuggestion(payload)- 从建议创建任务createTask(params)- 创建新任务updateTaskStatus(taskId, status)- 更新任务状态startTaskTimer(taskId)- 开始任务计时completeTask(taskId, reviewData)- 完成任务并提交复盘getTaskSummary(params)- 获取任务统计和洞察getUiTaskList()- 获取UI任务列表(带状态分组)
云函数接口 [Source: cloudfunctions/taskWorkflow/index.js]
action: 'create'- 创建任务action: 'update'- 更新任务action: 'startTimer'- 开始计时action: 'complete'- 完成任务action: 'getStats'- 获取统计数据action: 'setReminder'- 设置提醒
Component Specifications
任务卡片组件 [Source: docs/页面文档/页面-任务.md#模块3]
- 任务标题和描述展示
- 来源徽章和状态标识
- 操作按钮组(开始/暂停/完成/跳过)
- 进度指示器和时间显示
- 截止时间提醒
番茄计时器组件 [Source: docs/页面文档/页面-任务.md#模块4]
- 倒计时显示和控制
- 暂停/继续/结束功能
- 专注模式和环境音
- 计时历史记录
- 完成提醒和复盘引导
复盘表单组件 [Source: docs/功能文档/功能-任务卡执行闭环.md#交互说明]
- 情绪前后对比滑块
- 执行体会文本输入
- 困难和收获记录
- 真人跟进选择
- 附件上传功能
File Locations
新增/修改文件位置 [Source: CLAUDE.md#模块结构图]
- 前端页面:
miniprogram/pages/tasks/index.js- 任务Tab主逻辑 - 分包页面:
miniprogram/packages/tasks/task-detail/- 任务详情分包 - 服务层:
miniprogram/services/tasks.js- 任务服务(已存在,需大幅扩展) - 云函数:
cloudfunctions/taskWorkflow/index.js- 任务工作流(需要完整实现) - 组件:
miniprogram/components/task-card/,miniprogram/components/tomato-timer/- 任务组件(新增) - 数据库:
behavior_tasks,task_timer_sessions,task_reviews集合(新增)
Testing Requirements
测试策略 [Source: CLAUDE.md#测试策略]
- 任务管理功能测试:创建、更新、删除、状态流转
- 番茄计时器测试:计时精度、暂停恢复、完成提醒
- 复盘功能测试:表单提交、数据验证、反馈收集
- 集成测试:与建议系统、社区系统的数据流转
- 性能测试:大量任务情况下的响应时间
Technical Constraints
性能要求 [Source: docs/prd.md#非功能需求]
- 系统响应时间必须在2秒内完成基础操作
- 支持至少1000并发用户
- 数据库查询响应时间小于500ms
- 任务提醒需要及时准确推送
数据一致性要求 [Source: docs/prd.md#技术约束和集成要求]
- 任务状态变更需要实时同步到所有相关页面
- 计时数据需要准确记录,防止数据丢失
- 复盘数据需要与情绪打卡数据关联
- 支持离线模式下的基础任务管理
用户体验要求
- 任务操作流程需要简洁直观
- 番茄计时器需要支持后台运行
- 复盘表单需要易于填写和理解
- 统计数据需要可视化展示
Integration Strategy
与AI建议系统集成 [Source: docs/功能文档/功能-微建议与任务生成.md]
- 支持一键从建议创建任务
- 任务执行结果反馈到建议系统
- 基于执行历史优化建议质量
- 实现建议到任务的完整追踪
与社区系统集成 [Source: docs/功能文档/功能-任务卡执行闭环.md]
- 支持从社区行动卡创建任务
- 任务完成后回写社区反馈
- 实现社区经验分享功能
- 支持社区任务推荐和发现
与情绪打卡系统集成
- 任务完成时可选择关联情绪打卡
- 基于情绪状态推荐合适任务
- 任务执行结果影响情绪分析
- 实现情绪-任务关联分析
Testing
Testing Standards
测试文件位置 [Source: CLAUDE.md#测试策略]
- 单元测试:
miniprogram/services/__tests__/tasks.test.js - 云函数测试:
cloudfunctions/taskWorkflow/__tests__/index.test.js - 组件测试:
miniprogram/components/__tests__/task-*.test.js - 集成测试:
__tests__/integration/task-workflow.test.js - 番茄计时器测试:
__tests__/integration/tomato-timer.test.js
测试框架和模式
- 使用Jest进行单元测试
- 模拟计时器功能进行时间测试
- 使用Mock数据覆盖各种任务场景
- 性能测试模拟大量任务数据
具体测试要求
- 任务CRUD操作的完整性测试
- 任务状态流转的正确性测试
- 番茄计时器的准确性测试
- 复盘功能的数据收集测试
- 多来源任务的整合测试
- 提醒和推送功能的及时性测试
Change Log
| Date | Version | Description | Author |
|---|---|---|---|
| 2025-10-18 | 1.0 | 初始版本创建 | Winston (Architect) |
Dev Agent Record
Agent Model Used
(待开发时填写)
Debug Log References
(待开发时填写)
Completion Notes List
(待开发时填写)
File List
(待开发时填写)
QA Results
(待QA测试时填写)