Skip to content

Story 1.4: 建立任务管理和执行闭环 ​

字数
2795 字
阅读时间
12 分钟

Status ​

Draft

Story ​

As a 用户, I want 将AI建议转化为可执行的任务并跟踪进度, so that 我能够真正落实心理健康改善行动。

Acceptance Criteria ​

  1. AC1: 支持从AI建议一键创建任务
  2. AC2: 提供任务分类、优先级设置和截止日期管理
  3. AC3: 实现任务执行状态跟踪和完成度统计
  4. AC4: 支持任务提醒和打卡功能
  5. 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 - 来源对象ID
    • checklist_steps: array - 检查清单步骤

task_timer_sessions集合 [Source: docs/功能文档/功能-任务卡执行闭环.md#数据需求]

  • 主要字段:
    • session_id: string - 计时会话唯一标识
    • task_id: string - 关联任务ID
    • start_at: date - 开始时间
    • end_at: date - 结束时间
    • paused_duration: number - 暂停时长(秒)
    • completed: boolean - 是否完成

task_reviews集合 [Source: docs/功能文档/功能-任务卡执行闭环.md#数据需求]

  • 主要字段:
    • review_id: string - 复盘唯一标识
    • task_id: string - 关联任务ID
    • pre_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 ​

DateVersionDescriptionAuthor
2025-10-181.0初始版本创建Winston (Architect)

Dev Agent Record ​

Agent Model Used ​

(待开发时填写)

Debug Log References ​

(待开发时填写)

Completion Notes List ​

(待开发时填写)

File List ​

(待开发时填写)

QA Results ​

(待QA测试时填写)

贡献者 ​

The avatar of contributor named as Cai Hongyu Cai Hongyu

文件历史 ​

用 ♥ 撰写