2.3 KiB
2.3 KiB
E-04 · 三步引导 + 考试倒计时 + 每日目标
| 字段 | 值 |
|---|---|
| 项目 | EnglishDrill · Desktop/english-drill |
| 优先级 | P0 · M2 |
| 建议模型 | glm-5.3-flash(主)/ qwen3.8-flash(兼容性复核) |
| 依赖 | 无 |
| 预估 | 1.5 天 |
一、背景(为什么做)
新人注册后落在首页——空统计、空错题、空单词足迹,不知道该干嘛;DailyPlan.target_per_day 写死默认 20。倒计时是最廉价的心理驱动,且完全不需要内容投入(增长报告 P0-4)。
二、目标(交付物)
- 数据:
PROFILE增两字段exam_date(考试日期,可空)、daily_target(每日词量,默认 20)。 - 三步引导
/onboarding(仅新用户或未设置目标用户触发一次):- ① 选目标考试(高考 / CET-4 / CET-6 / 考研 / 其他 → 存
exam_date占位或手选日期) - ② 选词书(复用现有词书数据)
- ③ 设每日词量(默认 20,可调)
- 完成 → 跳首页
- ① 选目标考试(高考 / CET-4 / CET-6 / 考研 / 其他 → 存
- 首页展示:"距离高考还有 240 天 · 今日 20 词已排好"(exam_date 空则不显示倒计时,只显示今日目标)。
- 可跳过引导(跳过=用默认值,之后可从设置再进入)。
三、执行步骤
1. 侦察 PROFILE 模型与序列化器、注册后跳转逻辑
2. 字段 + 迁移 + 兼容默认(老用户 exam_date=null 全链路不报错)
3. /onboarding 三步页(组件按项目移动端适配惯例)
4. 首页倒计时/目标条
5. E2E:新用户引导流程、跳过、老用户兼容
四、验收标准
- 新用户注册后进入引导(或可跳过);完成三步后首页出现倒计时与今日目标
- 老用户(无新字段值)全站不报错、首页降级显示正常
- 倒计时按
exam_date精确计算(用例:固定日期 → 期望天数) - 修改每日目标后今日计划随之变化
- 既有 E2E 全绿 + 新增 ≥6 用例
五、验收命令(参考)
cd backend && python tests/e2e/run_e2e.py -k onboarding
python tests/e2e/run_e2e.py --http
六、边界(不许做)
- 不做复杂考试规划算法(倒计时 + 目标数字即可)
- 不改 DailyPlan 既有调度逻辑(target_per_day 只是默认值来源)
七、交接
写 PROGRESS_E-04.md(含兼容性用例证据)。