为什么做这个小修正
昨天晚上上线的"刷题断点续练"功能里,未完成练习卡片显示的进度是 current_index(当前题位),而不是 answered_count(实际已作答题数)。
在只做正向答题的情况下这两个值一致,但下面几种场景会对不上:
- 用户跳过某题去做后面的题
- 用户回看前面的题
- 用户重新修改已作答的题
上线后很快发现这类错位,所以今天一早修掉。
具体做了什么
1. 前端卡片改用 answered_count
刷题主页与个人中心的"进行中练习"卡片显示文案从基于 current_index 改为基于 answered_count,准确表达"我一共答了多少道题"。
2. 后端答题保存接口同步这两个字段
每一次答题保存进度时,后端自动:
- 重算
answered_count - 更新
progress_data - 刷新
updated_at
这样卡片上不仅题数准确,"最近练习时间"也准确。
用户会感受到的变化
- 卡片上的"已做 N 题"严格等于真实答过的题数,不再是"停在第几题"
- 跳题、回看、改答案都不会让卡片上的数字漂移
- 卡片按最后作答时间排序时,结果和实际手感一致
相关范围
- 官网:刷题主页、个人中心的"进行中练习"卡片
- 后端:小程序后端的答题保存接口
这条记录的发布时间
以最后一次相关 git 提交的时间为准:2026-04-23 08:46:06。