训练
当前计划、周安排、完整周期、训练详情、补给、同步、感受、单次分析、训练记录和状态分析。
面向产品、设计、小程序前端、后端、算法/AI、测试与跑团管家接口方。评审完成后,以已确认业务规则和状态机直接拆分开发任务。
产品结构、主流程和核心状态已具备开发条件;技术协议需在 Sprint 0 锁定。
页面骨架、全局主题、三导航、登录/建档交互、计划/历史/分析/教练/我的页面、日历与状态动作、表单草稿、空态异常、Mock 数据和埋点钩子。
用户映射、跑团管家字段与错误码、同步机制、计划匹配、指标算法、AI 输出协议、撤权/注销数据规则。未确认前用 Mock,不得自行固化。
用边界保护实现,避免把参考原型或后续想法误做进一期。
当前计划、周安排、完整周期、训练详情、补给、同步、感受、单次分析、训练记录和状态分析。
每日状态、快捷问题、结构化回答、历史会话、计划调整提案与确认;不承载正式计划和长期趋势。
昵称与档案、跑步基础、身体伤病、补给肠胃、同步、授权、主题和账号安全;不重复训练记录。
| 非目标 | 实现边界 |
|---|---|
| 直接连接手表 | 不做;仅通过跑团管家统一接入华为、COROS、Garmin。 |
| 医疗诊断 | 不做;异常输入只给安全提示和专业评估建议。 |
| AI 自动改正式计划 | 不做;必须经用户确认并产生新版本。 |
| 个人 PC 端 | 不做;PC 为运营管理后台,另行拆分。 |
| 手机端数据导出/消息/帮助/关于 | 不展示、不预留空入口。 |
页面路由名称为交底标识,最终工程路由由前端确认。
| 域 | 页面/状态 | 主入口 | 开发优先级 |
|---|---|---|---|
| 身份 | 游客预览、独立微信登录、首次/后续分流、首次建档、方案草案 | 首次访问/登录 | P0 |
| 训练 | 当前计划、周安排、完整周期、训练详情、补给 | 底部“训练” | P0 |
| 闭环 | 授权同步、同步结果、训练感受、单次分析 | 课次状态动作 | P0 |
| 复盘 | 训练记录、月历筛选、状态分析 | 训练页一级切换 | P0 |
| AI | 教练首页、历史会话、会话详情、计划调整确认 | 底部中央“教练” | P0 |
| 设置 | 四类档案、数据同步、授权、换肤、账号安全 | 底部“我的” | P0 |
文案、视觉状态、点击目标与后端生命周期必须一致。
| 已训练 + 已反馈 | 查看分析 |
| 已训练 + 有数据 + 未反馈 | 训练感受 |
| 历史训练日 + 无数据 | 同步数据 |
| 未来训练日 | 仅箭头 |
| 完成且已反馈 | 对勾 |
| 完成未反馈 | 绿点 |
| 训练日未完成 | 灰点 |
| 无计划日 | 列表不展示;日历无可操作标记 |
关联账号 → 首次授权 → 检查设备 → 同步中 → 成功/空结果/失败。授权完成无激励;获得同步结果后才展示激励。后续自动同步,并保留手动同步和取消授权。
提案待确认 → 用户确认/拒绝 → 确认后生成新版本。只修改未来课次,历史训练和设备事实永久保留;版本冲突需重新确认。
四条工作流并行,接口契约与状态枚举作为共同依赖。
路径为建议;对象、状态、幂等和审计要求是评审重点。
| 能力组 | 关键接口(建议) | 必须满足 |
|---|---|---|
| 身份/档案 | `POST /api/auth/wechat`、`PUT /api/runner/profile` | 幂等用户、档案版本、局部更新 |
| 计划 | `POST /api/plans/generate`、`GET weeks/{date}`、`confirm` | 异步生成、周期边界、版本与审计 |
| 同步/活动 | `POST /api/data-consents`、`POST/GET /api/sync-jobs`、`GET /api/activities` | 首次授权、可撤销、任务幂等、数据质量 |
| 反馈/分析 | `PUT feedback`、`POST/GET analysis`、`GET /api/metrics/trends` | 草稿与最终提交、算法版本、基线解释 |
| AI/调整 | `CRUD /api/conversations`、`POST messages`、`POST adjustments/{id}/confirm` | 结构化卡片、流式失败恢复、确认后生效 |
只读,不被计划或 AI 覆盖。
不补 0;标记完整、部分、样本不足或无数据。
可重算,但保留算法版本、输入范围和生成时间。
每条用例都要同时验证 UI、接口、数据、埋点和异常恢复。
| ID | Given | When | Then |
|---|---|---|---|
| E2E-01 | 新游客 | 预览、登录,选择四类训练目标之一并完成档案 | 选择半马/全马时填写比赛名称和日期;生成计划草案;首次建档不要求设备 |
| E2E-02 | 当前计划已生效 | 查看阶段进度并切换周与日期 | 按“周期进度→本阶段重点→一周概览→训练条目”阅读;仅周期内可选;条目统一箭头;无计划日不进入周列表;有数据详情不出现 AI 商量,无数据详情出现 AI 商量 |
| E2E-03 | 首次同步用户 | 关联、授权、绑定并同步 | 授权后无激励;同步成功后有激励;记录幂等并产生匹配状态 |
| E2E-04 | 已授权且有训练数据 | 补充训练感受并提交 | 草稿可恢复;生成分析;包含计划、实绩、机能、感受、天气、补给和下一动作 |
| E2E-05 | 存在多条训练记录 | 展开月历并筛选日期 | 默认近一月;无范围总结卡;标记一致;点击记录进入对应单次分析 |
| E2E-06 | 积累长期数据 | 选择起止日期查看趋势 | 重点指标先展示;每组趋势有评价和建议;基线由小 i 解释 |
| E2E-07 | AI 产生调整提案 | 用户查看并确认 | 只更新未来课次,生成新版本;拒绝则正式计划不变 |
| E2E-08 | 用户撤销数据授权 | 确认撤销后触发同步 | 新同步被阻止;界面回到未授权状态;有完整审计 |
正文 ≥14px 等效;热区 ≥44px;颜色状态同时有文字或形状。
文案、图标、CTA、接口状态和真实点击目标完全一致。
无 P0/P1;核心回归通过;同步/AI 监控与回滚开关已配置。
按依赖而不是按页面视觉顺序推进。
没有结论的项目明确标“待确认”,并指定责任人与阻塞范围。
| 事项 | 建议责任方 | 最晚节点 | 阻塞 |
|---|---|---|---|
| 两端唯一用户键、手机号不一致与账号合并 | 后端 + 跑团管家 | Sprint 0 | 身份联调 |
| 设备字段、历史回溯、时延与错误码 | 跑团管家 + 后端 | Sprint 0 | 真实同步 |
| 自动同步触发、限流、重试与超时 | 后端 + 架构 | Sprint 0 | 同步任务 |
| 课次与活动自动匹配及纠错 | 算法 + 后端 + 产品 | Sprint 1 | 训练闭环 |
| 训练负荷、负荷比、恢复、VDOT 与阈值口径 | 算法 + 产品 | Sprint 1 | 分析验收 |
| AI 卡片 schema、禁调字段和风险降级 | AI + 后端 + 产品 | Sprint 1 | AI 联调 |
| 撤权后历史保留、注销与录音保存 | 法务/安全 + 后端 | 提测前 | 上线门禁 |
| 性能、可用性、灰度成功阈值和回滚负责人 | 技术负责人 + 测试 | 提测前 | 发布门禁 |
以下四项全部完成,状态由“交底稿”变为“开发基线”。