feat: add content navigation practice assembly

This commit is contained in:
Codex
2026-06-21 23:04:39 +08:00
parent efce192844
commit c1159f8745
18 changed files with 2358 additions and 74 deletions

View File

@@ -13,8 +13,8 @@
- Supabase/PostgreSQL 多租户数据库 schema、RLS、索引、触发器。
- `apps/api` 独立业务 API后续供 H5、Taro 小程序、管理后台统一调用。
- 租户后台能力:品牌、域名、公开设置、支付账户、登录配置、私密密钥掩码、活动内容、激活码、优惠券、成员权限、审计日志。
- 租户内容能力:题目录入/更新、视频绑定、分数线、单词、知识手册、资料资源台账、题目 JSON 批量导入。
- 学生端能力:题库目录、刷题 session、答题、错题本、收藏夹、背单词进度、个人中心、分数线、题目视频、订单、权益、激活码兑换、资料下载。
- 租户内容能力:可配置题库入口、任意深度分类树、考试意向标记、题目集合、顺序/随机/全真模拟蓝图、题目录入/更新、视频绑定、分数线、单词、知识手册、资料资源台账、题目 JSON 批量导入。
- 学生端能力:题库入口、分类树、题目集合、顺序/随机/模考 session 组卷快照、答题、错题本、收藏夹、背单词进度、个人中心、分数线、题目视频、订单、权益、激活码兑换、资料下载。
- 平台后台能力租户管理、SaaS 套餐、订阅、账单、服务费收款、用量记录。
- 销售/代理/CRM 增长链路:邀请码、扫码/分享事件、首绑客资保护、销售统计、团队关系、CRM 配置和队列。
- PocketBase schema/数据导入器雏形和导入后校验脚本。
@@ -114,17 +114,17 @@ npm run test:api
```text
apps/api/src/features/
auth/ 短信登录、迁移期 session、OAuth 占位
catalog/ 学生端目录、题库、资料、商城只读接口
catalog/ 学生端目录、内容入口、分类树、题目集合、资料、商城只读接口
commerce/ 订单、支付确认、激活码、权益
health/ 健康检查
learning/ 答题、错题、收藏、学习进度
learning/ 练习 session 组卷、答题、错题、收藏、学习进度
platform-admin/ 平台方租户、SaaS 套餐、订阅、账单、用量
profile/ 学生个人中心
referral/ 销售/代理客资追踪、CRM 队列
scoreline/ 分数线
tenant/ 租户解析
tenant-admin/ 租户后台配置、成员权限、活动和审计
tenant-content/ 租户内容维护、资源管理、批量导入
tenant-content/ 租户内容导航、题库维护、资源管理、批量导入
video/ 题目视频讲解
```
@@ -141,6 +141,7 @@ apps/api/src/features/
- 租户公开配置不能存放密钥。
- 商户密钥、短信密钥、OAuth app secret 等必须进入 `app_private.tenant_secrets`,或后续生产 KMS/Vault。
- 资料、PDF、视频等资源必须先进入 `content_assets` 台账,再由 API 校验权限并下发签名 URL。
- 题库入口和分类使用 `content_entries/content_nodes`;题目列表和练习规则使用 `question_collections/practice_blueprints`,前端不要再把旧树字段当成唯一业务结构。
- 批量导入必须先写 `content_import_jobs/items/issues`,保留原始 payload、规范化 payload、逐行问题和审计记录。
- 支付 webhook 必须先设计幂等键和验签流程,再进入生产使用。
@@ -150,7 +151,8 @@ apps/api/src/features/
```text
npm run supabase:reset
npm run check:refactor
npm run check:api
npm run test:api
```
结果:通过。