teacher-word-selection-2026-11-02.md 2.8 KB

2026-11-02 老师选词操作优化(已上线)

问题与修改

  • “单次最多操作 100 个单词”来自 e_add_words 后端的请求条数限制。选词页累计标记为认识的词可能超过 100,原先全部一次提交导致报错。客户端现按最多 100 个顺序分批提交,兼容当前线上接口,无需扩大后端写入上限。
  • 每批使用稳定的请求键,成功一批即更新本地进度;保存失败或响应不确定时,保留识词判断并提供“重试保存”,完成原批次核对前暂停修改。全部保存成功后才进入后续训练,避免重试重复增加学习遍数。
  • 未学习单词右侧常驻紧凑的“认识”“不认识”按钮,不依赖展开释义。保留学生只读限制与历史已学遍数规则。
  • 增加“全选本页”和批量判断条。临时勾选与本轮待学选择独立,只作用于当前已加载、展示的未学习词;可以取消个别勾选,也可直接点单词的“不认识”作为例外。
  • 批量认识保存后,未勾选词保留待学;不超过本轮容量时自动进入这些词的训练。全部认识时转到已学一遍栏。原有每轮最多 30 个待学词规则保持不变;超出容量时不会截断勾选或丢弃单词。
  • 切换栏位或加载更多会清除临时批量勾选。保存后待学集合缩短时重新校正加载偏移,保留待学选择,避免漏过后面的词;校正失败仍重试第一页。

验证

  • 原代码在新增的 7 项回归上失败,初步修改后通过 61 项选词相关集成测试;复查新增边界用例先复现 3 处问题,再修复通过。
  • 最终全量前端测试:移动端 327 项、管理端 348 项,共 675 项通过。
  • 移动端生产构建通过,既有样式体积和 CommonJS 警告仍存在。
  • 覆盖 205 个已认识词按 100/100/5 保存、第二批失败重试、服务端已提交但响应丢失的幂等重试、重试前冻结判断并保留后续动作、分页重排及校正失败、常驻按钮、批量取消例外、全部认识、批量不认识与本轮容量限制、切栏及保存中防重入。
  • 隔离接口浏览器检查:1024px、375px、320px 无横向溢出、长单词不覆盖判断按钮;全选后排除一个词,已勾选词保存为认识,只训练被排除的词;205 个词保存请求为 100/100/5,未重复计数,页面无运行时异常。

浏览器验证使用测试账号和隔离接口,未读写正式业务数据,不代表微信实机验收。可复查的截图、脚本及 verification.json 位于本机 ~/.local/state/xiaoshu/qa/2026-11-02-teacher-word-selection/。

发布状态

已按用户后续授权,与报表字号、老师学员复习期筛选一起发布至正式环境。发布版本、正式资源校验及回退记录见 联合发布记录。