Files
eddy 738275b493 feat: 添加 Service Worker 缓存与更新流程
- 为同源资源添加网络优先策略,并在离线时回退到缓存
- 缓存带版本号的 CDN 资源,并在发布更新时保留独立缓存条目
- 改进版本更新检查,避免清除 localStorage 或无关缓存
- 将 Service Worker 纳入部署流程并更新相关文档
2026-07-20 02:22:15 +08:00

3.0 KiB

手工冒烟测试

测试准备

  1. 用 HTTP 静态服务器启动 refactor/,打开开发者工具并保持 Console 可见。
  2. 在原版设置页导出完整备份;确认重构版与原版使用相同 origin 后刷新重构版。
  3. 记录测试前 localStorage 的键名与关键数据数量,避免误把端口不同导致的空数据判断为兼容失败。

路由与全局 UI

  • 依次进入 #home#words#quiz#review#extract#mail-learn#stats#settings,前进/后退正常。
  • 深浅主题切换后刷新仍保持;统计图在两种主题下可重绘。
  • 移动端菜单、遮罩关闭、Toast、Modal 遮罩与关闭按钮正常;Esc 可关 Modal/侧栏。
  • 全程 Console 无 ReferenceError、未知 action、模块加载或 404 错误。

数据兼容

  • words/records/schedule/favorites 能迁移到默认词库前缀键,结构和值不变。
  • 各词库的 words:<id>records:<id>schedule:<id>favorites:<id> 可切换并恢复。
  • 设置、邮件、主题、过滤词、自动加载和自动播放设置刷新后恢复。
  • 导出全部数据,再导入该备份,单词/记录/计划/收藏/邮件数量一致;API Key 不进入导出文件。

单词库

  • 搜索输入防抖、分类/收藏/错题/频次筛选、分页及滚动正常。
  • JSON 导入、导出、重复过滤、详情、编辑释义、收藏、朗读和删除正常。
  • 自动播放可启停,重复次数/间隔/滚动设置生效;快速点击多个发音只保留最后请求。

测验与复习

  • 本地英译中、中翻英;50/100 分组、全部/错题/收藏范围、随机/顺序、题量均正常。
  • 答题、上一题、下一题、结束、结果、再测一次正常,记录与 schedule 更新。
  • 配置 AI 后可出题;失败或 429 时提示并回退本地题库。
  • 错题列表及开始复习正常;翻卡、认识/模糊/不认识、进度跳转、收藏和朗读正常。
  • 复习快捷键 ←、→、Space、1/2/3 仅在复习会话且无 Modal 时生效。

邮件提词与学习

  • 粘贴提词、专有名词过滤、chips 全选/反选、AI 翻译入库及保存邮件正常。
  • 批量模式可读取 txt/md/html/eml,多文件移除、频次提取、去重和入库正常。
  • 已保存邮件可载入/删除;AI 分析、全文翻译、高亮词库单词正常。
  • 阅读模式逐句显示、句子朗读/翻译、全部翻译、词库词 tooltip、生词查询与加入词库正常。

设置与词库

  • AI、Azure TTS 配置保存与连接测试正常;Azure 失败后语音回退正常。
  • 内置词库切换、自动加载、手动加载、过滤词增删/搜索/复制正常。
  • 清除收藏、清空数据的双重确认及保留收藏单词行为与原版一致。
  • “获取最新版本”会检查更新并刷新,更新当前版本的应用缓存且不清 localStorage。