feat: 支持教学案例展示功能

This commit is contained in:
richarjiang
2026-09-18 18:26:47 +08:00
parent 95b9f6511c
commit 87afb786b9
28 changed files with 950 additions and 5 deletions

View File

@@ -120,3 +120,10 @@ pnpm deploy:server # 部署后端到生产环境
- 评分只在服务端规则引擎计算;匿名测评用访问令牌哈希,不用可枚举 ID 做权限。
- 安全分流不计分。完整报告需登录认领,体验预约需手机号。现有 TRIAL 体验卡承接转化。
- 馆主「今日经营助手」只展示待办,不做成通用 CRM。主包不得引用 admin store。
### 教学案例展示
- 归属 studio 模块:teaching-case 服务、控制器、DTO 与 __tests__;共享契约放 shared/src/types/teaching-case.ts。公开页面放 pages/home,管理页沿用 pages/admin,公共展示组件放 components。
- 独立于私密成长档案;不得复用 progress/ 照片。教学案例上传使用 teaching-cases/ 私有对象、资产登记和完成校验;公开接口仅为已发布且已确认公开授权的案例签发短时图片链接。
- 案例支持 1–9 组双图对比或已合成单图,课时为正整数(节);标题、化名、练习背景和变化说明不作疗效承诺。授权记录只对管理员可见,发布需确认学员已单独同意公开宣传。
- 保存采用版本校验;撤回授权自动下架。游客首页优先展示最多 3 个案例,更多通过分页浏览;登录用户预约入口优先。无已发布案例时隐藏模块,故障不阻断首页。
- 迁移目录仅放 migration.sql;发布、回退、图片清理和真机验收约定放 docs/teaching-cases.md。未引用资产保留供重试,清理前核对引用且不得删除有效案例图片。