05c4763e49
- progress-ring 新增 sets/currentSet/resting/successColor 属性, 圆环外圈绘制分段弧(已完成=主色/当前=呼吸光点/休息下一组=绿),单组模式零渲染 - timer 删除顶部 circuit-bar 进度面板,布局骨架三模式统一 - 呼吸环淡化(描边 0.55→0.20,柔光渐变强度减半) - 目标卡与提示气泡合并为 info-bubble,状态文案(撑住/休息中/已暂停)并入气泡顶部
2.0 KiB
2.0 KiB
2026-08-06
记录页新增「里程碑」tab — 设计已锁定(尚未写代码)
用户要求:在 records 页「记录日历 / 趋势」后加第三个 tab「里程碑」,展示用户锻炼旅程中的里程碑事件。 关键决策(用户逐项确认):
- 语义=「第一次完成任务」,不做累计/极值(明确否决"累计X小时/累计N次""单次最久""最长连续N天"这类历史最佳)。
- 排序=倒序(最新里程碑在最上)。
- 范围=5 家族克制版+模式首秀:
first_train第一次训练 → min(record.date)badge×7 勋章首解锁(复用 config.trainingDayBadges 的 name/iconWhite)→ 第 N 个去重训练日=解锁日first_duration时长首突破,门槛 config.milestoneFirsts.durations=[60,180,300,600]s → 正序第一条 duration≥T 的记录日期first_streak连续首突破,门槛 config.milestoneFirsts.streaks=[7,14,30] → 正序扫去重日期,连段首次达 N 的当天- 模式首秀:
first_circuit(首条 mode==='circuit')、first_plan(首条 day>=1 的计划训练)
- 节点不可点(纯展示)。
- 视觉:竖向时间线(实色圆+白图标+右侧卡),顶部汇总卡+底部"下一个目标"条;空态复用页面级 totalSessions===0 引导。
架构(待实现): 新建 utils/milestones.js 纯函数 computeMilestones(records) → 倒序事件数组;改 records.js/wxml/wxss(contentMode 增 'milestone');config 增 milestoneFirsts。全部从现有 training_records 推导,零存储/云函数改动。
图标: 节点用 *White 变体(playWhite/boltWhite/formWhite/各 badgeWhite 等);timeWhite、repeatWhite 实现时各加一行或复用现有白图标。注意组件 style isolation 陷阱——图标色烤死在 SVG,必须用 *White。
状态:用户选择「再调整一下」,暂未批准写代码。 下一步:与用户敲定文案/门槛/配色后实现。