# E-07 · 连续天数保护(补签卡) | 字段 | 值 | |---|---| | 项目 | EnglishDrill · `Desktop/english-drill` | | 优先级 | P1 · M3 | | 建议模型 | glm-5.3-flash(主)/ qwen3.8-flash(时间边界复核) | | 依赖 | 无 | | 预估 | 0.5-1 天 | ## 一、背景(为什么做) 增长报告 P2 #11:现在断一天 → 连续记录归零 → **用户直接放弃**(沉没成本被清零是最强的流失触发点)。而修复成本极低(一个字段 + 一次判定),对"已经坚持 30 天"的用户价值巨大。 ## 二、目标(交付物) 1. **补签卡规则**:每月赠 1 张(月初发放或首次打卡发放,选一写明);使用后补回指定断签日 → 连续天数链恢复。 2. **冻结卡(可选二选一实现)**:提前声明"明天不学"→ 该日不断记录。若两张都做,优先补签卡。 3. 数据:字段/表记录(余额、使用记录、补签日期);连续天数计算函数适配补签逻辑。 4. 前端:连续天数卡片显示补签入口(有断签+有卡时);补签后动画/反馈。 5. **防滥用**:只能补最近 N 天内(如 3 天)、不能补未来、不能重复补同一天、无卡不可补。 ## 三、验收标准 - [ ] 断签 1 天 → 使用补签卡 → 连续天数链恢复正确(跨月/跨年用例) - [ ] 重复补签同一天被拒;补 4 天前的断签被拒(超窗口) - [ ] 无卡时入口不可用;月初发卡逻辑正确(或选定的发放规则) - [ ] 连续天数计算在"正常/断签/补签/多次补签"四态下均正确(时间旅行用例:固定日期断言) - [ ] 既有 E2E 全绿 + 新增 ≥6 用例 ## 四、边界(不许做) - 不做付费购买补签卡(增长期零收费约束) - 不改现有签到/连续统计的既有 API 契约(加字段不破坏) - 不做社交炫耀分享(另一张卡的空间) ## 五、交接 写 `PROGRESS_E-07.md`(含时间边界用例输出)。