Files
vscode-workbench/PLANNING/tasks/E-04-引导与倒计时.md
T

2.3 KiB
Raw Blame History

E-04 · 三步引导 + 考试倒计时 + 每日目标

字段 值
项目 EnglishDrill · Desktop/english-drill
优先级 P0 · M2
建议模型 glm-5.3-flash(主)/ qwen3.8-flash(兼容性复核)
依赖 无
预估 1.5 天

一、背景(为什么做)

新人注册后落在首页——空统计、空错题、空单词足迹,不知道该干嘛;DailyPlan.target_per_day 写死默认 20。倒计时是最廉价的心理驱动,且完全不需要内容投入(增长报告 P0-4)。

二、目标(交付物)

  1. 数据:PROFILE 增两字段 exam_date(考试日期,可空)、daily_target(每日词量,默认 20)。
  2. 三步引导 /onboarding(仅新用户或未设置目标用户触发一次):
    • ① 选目标考试(高考 / CET-4 / CET-6 / 考研 / 其他 → 存 exam_date 占位或手选日期)
    • ② 选词书(复用现有词书数据)
    • ③ 设每日词量(默认 20,可调)
    • 完成 → 跳首页
  3. 首页展示:"距离高考还有 240 天 · 今日 20 词已排好"(exam_date 空则不显示倒计时,只显示今日目标)。
  4. 可跳过引导(跳过=用默认值,之后可从设置再进入)。

三、执行步骤

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(含兼容性用例证据)。