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

文件历史

撰写