feat: upgrade student vocabulary learning flow

This commit is contained in:
Codex
2026-06-30 00:07:52 +08:00
parent e17b44274b
commit 3d10497ea8
10 changed files with 518 additions and 57 deletions

View File

@@ -866,6 +866,21 @@ approved -> cancelled
背单词页面分三类数据:单元列表、每日计划、单词进度。前端不需要计算下次复习日期,只提交“认识/不认识”,由后端统一更新 `nextReviewDate`、连续正确、掌握状态和每日复习计划。
当前 Taro 页面:
```text
apps/taro/src/pages/student/vocabulary/index.tsx
apps/taro/src/services/pronunciation.ts
```
已支持三种队列:
- `今日计划`:调用 `review-plan`,优先学习后端计划中的待复习/新词。
- `单元学习`:调用 `vocabulary-words`,用于按单元顺序学习。
- `收藏练习`:调用 `vocabulary/favorites`,用于复习本人收藏单词。
页面交互已包含卡片翻转、上一个/下一个、单词列表跳转、发音、美/英音切换、收藏/取消收藏和按 `unitId + mode` 保存本地当前位置。权威掌握状态仍以后端 `vocabulary/review` 返回和后续统计为准。
取今日计划:
```http
@@ -906,6 +921,8 @@ GET /api/learning/vocabulary/review-plan?unitId=<unitId>&reviewLimit=30&newLimit
- `review-plan.words` 是本轮学习队列;卡片翻转、上一个、跳转、收藏状态属于前端交互。
- 每个单词点击“认识/不认识”后调用 `POST /api/learning/vocabulary/review`
- 返回的 `status``dueLevel``nextReviewDate` 作为后续展示依据,不在前端重算间隔。
- 收藏列表调用 `GET /api/learning/vocabulary/favorites?unitId=<unitId>`;收藏/取消收藏调用 `POST /api/learning/vocabulary/favorites`
- 发音当前使用前端 `services/pronunciation.ts`H5 优先播放有道 dictvoice HTTPS 音频并用 Web Speech 兜底,小程序优先使用 `Taro.createInnerAudioContext`。这里不保存任何密钥;如果后续租户需要自定义发音源,应改为后端返回可配置的公开 provider URL 或资源台账引用。
- 旧的 `POST /api/learning/vocabulary/progress` 保留给兼容和后台手工修正;普通学习流优先用 `vocabulary/review`
## 视频播放契约
@@ -2335,11 +2352,12 @@ pages/student/profile/index
```text
src/components/RichContent.tsx 安全富文本渲染:题干、选项、解析、知识手册、报告复盘
src/services/catalog.ts 目录、题库、单词、手册、分数线、资料
src/services/learning.ts 练习 session、答题、收藏、错题/收藏复习、交卷报告、单词复习
src/services/learning.ts 练习 session、答题、收藏、错题/收藏复习、交卷报告、单词复习和单词收藏列表
src/services/commerce.ts 套餐、优惠券、下单、支付参数、订单详情、权益、激活码
src/services/profile.ts 个人中心、地区目标、签到、反馈、勋章、倒计时
src/services/video.ts 题目视频列表、播放签名
src/services/ai.ts AI 择校推荐生成、报告列表、报告详情
src/services/pronunciation.ts H5/小程序单词发音适配
src/services/tenantAdmin.ts 租户后台看板、权限矩阵、成员、学生创建/批量导入/分班/备注/跟进、内容、营销、设置、角色模板写操作、公共题库采纳/同步/单条和批量冲突处理、导入详情/复检、CRM 配置/队列、分佣规则/成员比例/订单/结算、优惠券规则/核销报表
src/services/tenantFinance.ts 租户财务运营:退款状态机、官方账单任务、对账批次/明细、差错工单、异常订单和人工调整凭证
src/services/platformAdmin.ts 平台后台租户、套餐账单、用量、公共题库授权
@@ -2358,7 +2376,7 @@ npm run build:taro:h5:platform
下一批前端开发重点:
- 学生端:地区选择、题目视频播放、题目反馈、错题/收藏专题页、模考交卷报告、收银台、订单详情、售后入口、题干/解析/知识手册 RichContent 安全渲染逐题复盘已接第一版;下一批继续补真正 KaTeX/小程序公式方案、私有题图签名资源映射、背单词卡片发音、小程序支付容器和分享场景。
- 学生端:地区选择、题目视频播放、题目反馈、错题/收藏专题页、模考交卷报告、收银台、订单详情、售后入口、题干/解析/知识手册 RichContent 安全渲染逐题复盘、背单词卡片学习/发音/收藏练习已接第一版;下一批继续补真正 KaTeX/小程序公式方案、私有题图签名资源映射、背单词更细统计、小程序支付容器和分享场景。
- 租户后台:工作台已接权限驱动模块入口;学生运营页已接学生创建/更新、禁用/恢复、批量导入、批量分班、学生备注、跟进任务和完成跟进第一版;题库内容页已接公共题库采纳/同步、冲突查看、单条/批量采纳平台或保留本地、导入问题、模板预览/下载、异步任务轮询和导入后复检第一版;营销中心已接 CRM 配置保存、CRM 队列按状态查看、分佣默认规则、成员分佣比例、分佣订单明细、结算单生成、审核通过/驳回、标记线下打款、优惠券规则表单、筛选、核销明细和核销报表第一版;财务运营页已接退款申请/审核/供应商提交与查询、官方账单任务、对账批次/异常明细、差错工单处理、人工调整凭证提交/复核和异常订单运营台第一版;租户设置页已接主题模板、草稿预览、发布、角色模板创建、编辑、停用、权限点、菜单、模块、字段、基础数据范围、成员搜索/新建、成员绑定模板、成员状态和额外权限覆盖第一版;下一批继续补更精细的学生导入模板体验、真实生产账单抽样验收、真实打款 provider、发票、更细数据范围 UI 和主题素材库。
- 平台后台:租户创建、状态变更、订阅开通、账单生成、人工收款确认、用量录入、公共题库授权编辑已接第一版;继续补租户详情/编辑、平台审计、自动计费和批量账单操作。
- 小程序:验证 `Taro.login`、微信支付、分享 scene/referral、Supabase client 兼容性;如不稳定,保留 `apps/api/auth/*` 作为小程序登录适配层。