forked from wangziqi/gongxue-base
feat: add content navigation practice assembly
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
- API Docker 镜像 `tiku-saas-dev-api:latest` 已可构建,并可从容器连接宿主 Supabase PostgreSQL。
|
||||
- API 已按 `core/features` 分层:
|
||||
- `auth`:短信验证码登录、迁移期 session、OAuth provider 预留。
|
||||
- `catalog`:公开题库、地区、科目、手册、商品、SVIP 套餐、资料资源只读/下载接口。
|
||||
- `learning`:练习 session、答题记录、错题、收藏、背单词进度/收藏/统计。
|
||||
- `catalog`:公开题库、地区、内容入口、分类树、题目集合、练习蓝图、手册、商品、SVIP 套餐、资料资源只读/下载接口。
|
||||
- `learning`:顺序/随机/全真模拟组卷 session、答题记录、错题、收藏、背单词进度/收藏/统计。
|
||||
- `profile`:学生个人中心、目标院校/专业、会员状态、统计聚合、最近练习。
|
||||
- `scoreline`:分数线字段、院校、专业、记录、趋势、年份。
|
||||
- `video`:题目视频讲解、批量预加载、通用视频搜索。
|
||||
@@ -15,12 +15,12 @@
|
||||
- `referral`:销售/代理邀请码、首绑客资保护、销售统计、团队关系、CRM 队列。
|
||||
- `platform-admin`:平台方租户管理、SaaS 套餐、订阅、账单、服务费收款、使用量。
|
||||
- `tenant-admin`:租户资料、品牌、公开设置、域名、支付账户、登录 provider、私密密钥掩码、活动内容、激活码批次、优惠券、成员管理、权限矩阵、审计查询。
|
||||
- `tenant-content`:租户后台题目、视频、分数线、单词、知识手册、资料资源、题目 JSON 导入维护。
|
||||
- `tenant-content`:租户后台内容入口、任意深度分类树、考试意向标记、题目集合、练习蓝图、题目、视频、分数线、单词、知识手册、资料资源、题目 JSON 导入维护。
|
||||
- `tenant`:域名/租户解析。
|
||||
- `src/services/supabaseApi.ts` 已加入新 API 客户端方法,供旧 Web 逐步替换和后续 Taro 复用。
|
||||
- 已新增 `npm run db:smoke-seed`,用于 `supabase:reset` 后恢复最小烟测数据。
|
||||
- 已新增 `npm run smoke:core-api`,用于验证个人中心、分数线、题目视频、背单词进度/收藏等学生端核心 API。
|
||||
- 已新增 `npm run test:api`,自动 seed、构建、启动临时 API,并断言核心学生端接口、租户隔离、资源权限和题目导入。
|
||||
- 已新增 `npm run test:api`,自动 seed、构建、启动临时 API,并断言核心学生端接口、内容导航/组卷、租户隔离、资源权限和题目导入。
|
||||
|
||||
## 已验证接口
|
||||
|
||||
@@ -49,6 +49,11 @@ POST /api/platform-admin/invoices/payments/manual-confirm
|
||||
GET /api/platform-admin/usage
|
||||
POST /api/platform-admin/usage
|
||||
GET /api/catalog/*
|
||||
GET /api/catalog/content-entries
|
||||
GET /api/catalog/content-nodes
|
||||
GET /api/catalog/question-collections
|
||||
GET /api/catalog/question-collections/questions
|
||||
GET /api/catalog/practice-blueprints
|
||||
GET /api/catalog/assets
|
||||
GET /api/catalog/assets/download
|
||||
POST /api/learning/answers
|
||||
@@ -71,6 +76,15 @@ GET /api/scoreline/years
|
||||
GET /api/questions/{questionId}/videos
|
||||
POST /api/questions/videos/batch
|
||||
GET /api/videos/search
|
||||
GET /api/tenant-content/content-entries
|
||||
PUT /api/tenant-content/content-entries
|
||||
GET /api/tenant-content/content-nodes
|
||||
PUT /api/tenant-content/content-nodes
|
||||
GET /api/tenant-content/question-collections
|
||||
PUT /api/tenant-content/question-collections
|
||||
PUT /api/tenant-content/question-collections/items
|
||||
GET /api/tenant-content/practice-blueprints
|
||||
PUT /api/tenant-content/practice-blueprints
|
||||
POST /api/tenant-content/questions
|
||||
PATCH /api/tenant-content/questions
|
||||
GET /api/tenant-content/assets
|
||||
@@ -158,7 +172,8 @@ GET /api/tenant-admin/audit-logs
|
||||
- 销售/代理客资采用首绑保护:普通扫码/分享事件不会覆盖已有归属,只有具备 `referral:write` 的租户成员可手动强制补绑。
|
||||
- CRM 当前完成配置、密钥入私密表、客资入队和队列查询;真实 webhook 发送、重试、签名在后续 `apps/worker` 中实现。
|
||||
- 内容资源当前完成台账、租户后台维护、上传/下载签名占位和学生端 SVIP 下载权限;真实对象存储签名、PDF 预览渲染和防盗链在 provider/worker 中实现。
|
||||
- 题目批量导入当前支持 JSON 数组预览、逐行 issue、job/item 台账、执行导入和幂等跳过;Excel/CSV、单词/手册/分数线导入会复用同一套 `content_import_jobs` 管线。
|
||||
- 题库内容导航当前以 `content_entries/content_nodes` 为主模型,可表达“入口 -> 多级分类 -> 院校/专业/学科/销售意向标记”;题目集合和练习方式由 `question_collections/practice_blueprints` 管理,练习 session 会保存当次题目 ID 快照。
|
||||
- 题目批量导入当前支持 JSON 数组预览、逐行 issue、job/item 台账、执行导入、幂等跳过,并可落到新内容入口、分类节点和题目集合;Excel/CSV、单词/手册/分数线导入会复用同一套 `content_import_jobs` 管线。
|
||||
|
||||
## 下一步
|
||||
|
||||
|
||||
Reference in New Issue
Block a user