feat: add student checkout pages

This commit is contained in:
Codex
2026-06-29 13:17:49 +08:00
parent 2776ce12a5
commit 65905aaf8f
13 changed files with 666 additions and 15 deletions

View File

@@ -169,7 +169,7 @@ tenant:<tenantId>:theme
| 知识手册 | `/api/catalog/handbook-subjects``handbook-chapters``handbook-entries` |
| 分数线 | `/api/scoreline/fields``schools``majors``records``trend``years` |
| 资料下载/预览 | `/api/catalog/assets``/api/catalog/assets/preview``/api/catalog/assets/download` |
| 商城 | `/api/catalog/svip-plans``POST /api/commerce/coupons/claim``POST /api/commerce/orders``POST /api/commerce/payments/create` |
| 商城/收银台 | `/api/catalog/svip-plans``POST /api/commerce/coupons/claim``POST /api/commerce/orders``POST /api/commerce/payments/create` |
| 订单/权益 | `/api/commerce/orders``/api/commerce/orders/detail``/api/commerce/orders/status``/api/commerce/entitlements` |
| 激活码 | `POST /api/commerce/activation-codes/check``POST /api/commerce/activation-codes/redeem` |
| 个人中心 | `GET/PATCH /api/profile/me``POST /api/profile/check-in``GET /api/profile/score-events``GET /api/profile/exam-countdowns``GET /api/profile/badges` |
@@ -232,6 +232,21 @@ tenant:<tenantId>:theme
- `PRACTICE_SESSION_QUESTION_FORBIDDEN`:说明提交答案的题目不在本次 session 快照内,应清理本地异常进度并重新开始。
- 提交答案必须传 `practiceSessionId`;后端会拒绝不属于本人有效 session 的题目。
## 学生端支付与售后契约
学生端 `pages/student/checkout/index``pages/student/order-detail/index` 已接第一版。前端只传递套餐、地区、优惠券和支付 provider最终金额、优惠抵扣、订单状态、支付记录、权益发放都以后端返回为准。
推荐流程:
1. `GET /api/catalog/svip-plans` 加载可购买套餐。
2. 如有优惠券,先调 `POST /api/commerce/coupons/claim`,仅用于领取和展示预计抵扣。
3.`POST /api/commerce/orders` 创建订单,后端会重新计算最终金额和抵扣。
4. 非零元订单调 `POST /api/commerce/payments/create` 获取支付参数。
5. H5 支付可跳转 provider 返回的 URL微信小程序支付用 provider 返回参数调用 `Taro.requestPayment`
6. 支付后调 `/api/commerce/orders/status` 轮询状态,已支付订单的权益由后端 webhook/补偿 worker 幂等发放。
普通学生端不直接调用退款接口。退款申请、审核、供应商退款、全额退款权益撤销均在租户后台权限流中完成;学生端只展示订单详情、状态和售后联系入口。
## 勋章
学生个人中心或学习成就页调用:
@@ -1364,6 +1379,8 @@ pages/student/practice/index
pages/student/review/index
pages/student/reports/index
pages/student/video/index
pages/student/checkout/index
pages/student/order-detail/index
pages/student/vocabulary/index
pages/student/handbook/index
pages/student/scoreline/index
@@ -1376,7 +1393,7 @@ pages/student/profile/index
```text
src/services/catalog.ts 目录、题库、单词、手册、分数线、资料
src/services/learning.ts 练习 session、答题、收藏、错题/收藏复习、交卷报告、单词复习
src/services/commerce.ts 套餐、订单、权益、激活码
src/services/commerce.ts 套餐、优惠券、下单、支付参数、订单详情、权益、激活码
src/services/profile.ts 个人中心、地区目标、签到、反馈、勋章、倒计时
src/services/video.ts 题目视频列表、播放签名
src/services/tenantAdmin.ts 租户后台看板、学生、内容、营销、设置、公共题库采纳/同步、导入复检
@@ -1396,7 +1413,7 @@ npm run build:taro:h5:platform
下一批前端开发重点:
- 学生端:地区选择、题目视频播放、题目反馈、错题/收藏专题页模考交卷报告已接第一版;下一批继续补订单收银台、订单详情、售后入口、刷题细节 UI小程序支付/分享
- 学生端:地区选择、题目视频播放、题目反馈、错题/收藏专题页模考交卷报告、收银台、订单详情和售后入口已接第一版;下一批继续补刷题细节 UI小程序支付容器和分享场景
- 租户后台:题库内容页已接公共题库采纳/同步、冲突查看、导入问题、模板预览和导入后复检第一版;下一批继续补完整写入表单、导入上传 preview/import 操作台、字段映射编辑、学生批量导入、角色模板配置 UI、CRM 分配和分佣结算操作。
- 平台后台:租户创建、状态变更、订阅开通、账单生成、人工收款确认、用量录入、公共题库授权编辑已接第一版;继续补租户详情/编辑、平台审计、自动计费和批量账单操作。
- 小程序:验证 `Taro.login`、微信支付、分享 scene/referral、Supabase client 兼容性;如不稳定,保留 `apps/api/auth/*` 作为小程序登录适配层。