Files
gongxue-base/docs/refactor/legacy-feature-gap-matrix.md
2026-06-29 01:16:25 +08:00

130 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 旧题库功能差距矩阵
更新时间2026-06-29
旧项目位于 `F:\project\参考\旧题库项目`,只作为功能、样式、交互和迁移参考。新项目不再复刻 PocketBase/SQLite 的数据结构,而是以新多租户 SaaS 模型为准。
状态说明:
- `已覆盖`:新后端已有对应模型和接口。
- `部分覆盖`:已有主干,但商用体验或边界还要补。
- `本地待推`:本地代码已实现并通过过验证,但尚未提交/推送到 Gitea。
- `未覆盖`:需要新增后端能力。
- `前端为主`:后端已有基础,主要由 Taro/H5 实现展示和交互。
## 学生端功能
| 旧功能/页面 | 旧项目参考 | 新后端状态 | 待补齐 |
| --- | --- | --- | --- |
| 登录/注册 | `pages/Login.tsx` | 部分覆盖 | 短信、Supabase JWT、微信小程序登录主链路已有微信网页登录、QQ OAuth、手机号换绑/补绑和生产账号联调待补 |
| 选地区 | `pages/RegionSelector.tsx` | 已覆盖 | 需要前端按租户套餐和权益展示可选地区 |
| 首页/学生看板 | `pages/StudentDashboardNew.tsx` | 部分覆盖 | 品牌、Banner、公告、FAQ、时间线、入口、个人统计有基础缺考试倒计时 API、完整运营动态和学习任务聚合 |
| 题库入口 | `pages/SubjectSelector.tsx``RegionArchitectureEditor.tsx` | 已覆盖 | 前端应改接 `content_entries/content_nodes` |
| 多级分类树 | 旧 module/subject/category 树 | 已覆盖 | 新后端支持任意深度和 `marker_type`;前端不要写死层级 |
| 顺序刷题 | `pages/Quiz.tsx` | 已覆盖 | 免费额度/SVIP 校验、session 快照、练习历史和趋势统计已由后端强制;继续补断点续练和题目反馈 |
| 随机刷题 | `pages/Quiz.tsx` | 已覆盖 | 已有 blueprint/session 快照、访问控制和历史统计,前端需按 mode 调用 |
| 全真模拟 | `components/AdminMockexam``MockExamConfigModal.tsx` | 部分覆盖 | blueprint、session 快照、交卷评分、分段统计和错题解析汇总已覆盖;后续补排行榜/排名、断点续练、复盘体验 |
| 错题本 | 用户 stats/错题逻辑 | 已覆盖 | 错题列表、移出错题、复习计划和 `wrong_review` 后端组卷已覆盖;后续补更细的间隔复习算法 |
| 收藏夹 | `WordFavoritesPage.tsx`、题目收藏 | 已覆盖 | 题目和单词收藏已有 |
| 题目视频 | `VideoPlayer.tsx` | 部分覆盖 | 题目视频查询、播放签名、SVIP/次数扣减、播放日志已有;缺深度防盗链、动态水印、播放统计报表 |
| 背单词 | `VocabularyPage.tsx``VocabularyQuiz.tsx` | 部分覆盖 | 单词列表、进度、收藏、统计、每日计划和后端复习调度已覆盖;后续补收藏练习体验、发音/音频策略、排行榜和更精细的间隔算法参数 |
| 知识手册 | `Handbook*.tsx` | 已覆盖 | 前端需做好 Markdown/公式/图片渲染和搜索体验 |
| 分数线 | `ScorelinePage.tsx` | 已覆盖 | 动态字段/趋势已有;缺批量导入和复杂筛选优化 |
| 商城/SVIP | `Store.tsx``SvipModal.tsx` | 部分覆盖 | 套餐/订单/权益/激活码、微信支付/支付宝 provider 主链路已有;缺优惠券下单抵扣、订单状态轮询、激活码预检查、退款/对账/补偿任务 |
| 个人中心 | `Profile.tsx` | 部分覆盖 | 基本资料、权益、订单统计、练习历史、学习统计和趋势已有;缺勋章 API、签到积分、考试倒计时、账号绑定/换绑、学习报告可视化 |
| 资料下载 | `QuestionExporterPublishModal.tsx` 等 | 部分覆盖 | 资源台账/签名下载已有;缺 PDF 预览、水印、防盗链和上传后对象校验 |
| AI 择校推荐 | 业务规划新增 | 未覆盖 | 需设计学生输入 schema、地区数据上下文、AI JSON 输出、PDF 报告 |
| 题目反馈 | `02-API接口.md` 用户反馈 | 未覆盖 | 需新增题目反馈表、提交接口、租户后台处理流和通知 |
| 签到积分 | `Profile.tsx``02-API接口.md` | 未覆盖 | 旧用户表有 `lastCheckInDate/score`;新 schema 有字段基础,但缺签到 API、积分流水和活动规则 |
| 排行榜 | `leaderboard.pb.js``02-API接口.md` | 未覆盖 | 需新增题库/模考/背单词排行榜聚合接口和防刷策略 |
## 租户后台功能
| 旧功能/组件 | 新后端状态 | 待补齐 |
| --- | --- | --- |
| 用户管理 | 本地待推 | 租户成员、学生列表、学生资料、批量学生 upsert、禁用/恢复、批量分班、学生备注、跟进任务已在本地实现;批量 CRM 推送、补绑、学习督导自动化待补 |
| 销售/代理管理 | 部分覆盖 | referral/team/stats 有;缺分佣比例、结算单、审核、导出 |
| 班级/教师管理 | 已覆盖 | 班级、班级成员、教师/班主任/助教/学生范围权限已有;可视化 UI 和更细数据范围组合待补 |
| 数据看板 | 部分覆盖 | 表基础有;缺收益、注册、答题、活跃、套餐销量等聚合 API |
| 地区管理 | 部分覆盖 | 地区和内容入口已有;缺按 SaaS 套餐限制地区/题库授权的完整流程 |
| 品牌配置 | 已覆盖 | 需要前端做预览和主题发布体验 |
| 自定义域名 | 已覆盖 | 生产需补 DNS 校验、证书状态、回源校验 |
| 主题系统 | 部分覆盖 | 当前 theme JSON 可用;缺三套平台主题模板和素材管理 |
| 商户收款配置 | 部分覆盖 | 配置 API 有;缺真实支付 provider 和验签 |
| 登录配置 | 部分覆盖 | 配置 API 有;缺真实短信/OAuth provider 实现 |
| Banner/公告/FAQ/活动 | 已覆盖 | 前端运营后台可以接 |
| SVIP 套餐 | 部分覆盖 | 地区/科目/题库范围校验已接入练习/资料/视频;后续补分类/专业增项购买和套餐规则 UI |
| 优惠券 | 部分覆盖 | 后台配置有;前台兑换、下单抵扣待补 |
| 激活码 | 已覆盖 | 批次、生成、兑换主链路已有 |
| 勋章管理 | 部分覆盖 | 表结构有 badges/user_badges缺后台和学生端 API |
| 题库录入 | 已覆盖 | 单题创建/更新、JSON 导入、集合/蓝图已有 |
| 题库导出 PDF/Word/JSON | 未覆盖 | 旧前端有导出组件;新后端需决定服务端导出、导出水印和权限审计 |
| 题型分组/模拟卷配置 | 部分覆盖 | question_type_groups 表和 blueprint 有基础;后台配置体验待补 |
| 背单词维护 | 已覆盖 | 单元/单词 CRUD 和导入已有 |
| 知识手册维护 | 已覆盖 | subject/chapter/entry CRUD 和导入已有 |
| 分数线维护 | 已覆盖 | 字段/院校/专业/记录 CRUD 已有 |
| 视频维护/绑定 | 已覆盖 | video CRUD 和 question-video 绑定已有 |
| CRM 配置和队列 | 部分覆盖 | 配置/队列已有;钉钉/飞书/企微真实发送 worker、签名、重试、死信待补 |
| 对象存储配置 | 部分覆盖 | 系统 env provider 已有;租户级存储策略、上传后校验待补 |
## 平台 SaaS 后台功能
| 功能 | 新后端状态 | 待补齐 |
| --- | --- | --- |
| 创建/管理租户 | 已覆盖 | 平台后台页面待做 |
| SaaS 套餐 | 已覆盖 | 需要和地区/题库授权策略打通 |
| 年费/服务费账单 | 已覆盖 | 真实支付/开票/催缴流程待补 |
| 租户用量记录 | 已覆盖 | 自动采集 worker 待补 |
| 公共题库/地区题库 | 部分覆盖 | question_banks 有 source_scope缺平台披露策略、SaaS 套餐授权、租户采纳/复制/版本同步 |
| 跨租户运营看板 | 部分覆盖 | overview 有基础;缺完整 BI 聚合 |
| 租户安全审计 | 部分覆盖 | audit logs 有;缺平台级审计报表 |
## 旧功能中应重新设计的点
- 旧项目把很多用户状态放在 JSON 或前端逻辑里,新项目应拆到独立表或后端服务。
- 旧树形结构只作为迁移来源,新前端应使用 `content_entries/content_nodes/question_collections/practice_blueprints`
- 旧资料/视频 URL 不能继续让前端直连私有资源,新项目统一走 `content_assets` 和签名 URL。
- 旧后台的一些“隐藏入口/超管直贴 JSON”应改为 preview/import/job/issue 审计流。
- 旧支付和激活码逻辑要统一成订单、支付事件、权益开通、幂等 webhook。
- 旧销售追踪要升级为租户内角色权限 + 首绑保护 + 分佣结算 + CRM worker。
## 后端补齐优先级
## 和旧题库相比仍缺的明确功能
这些是旧项目中已经出现过、但新后端还没有完整业务闭环的功能:
1. 题目反馈:学生提交题目纠错、租户后台处理、状态流转、处理通知。
2. 签到积分:每日签到、积分流水、连续签到、积分和活动/兑换的关系。
3. 排行榜:刷题、模考、背单词排行榜,以及防刷、租户/地区/班级维度。
4. 考试倒计时:`exam_dates` 表已有,但还缺学生端查询和后台维护 API。
5. 订单状态轮询和激活码预检查:订单列表和兑换已有,但旧商城体验需要更细的状态查询/预检接口。
6. 账号设置完整流:头像上传、绑定/更换手机号、微信/QQ 账号合并、密码/邮箱能力。
7. 题库导出PDF/Word/JSON 导出、水印、导出审计和权限控制。
8. 导入扩展Excel/CSV、分数线、视频批量导入和大批量异步 worker。
9. 公共题库商业化:平台公共/地区题库披露、租户采纳、套餐授权、版本同步。
10. CRM/销售结算:真实 CRM worker、轮询/定向分配、分佣规则、结算单、审核和导出。
### P0前端联调到云端前
1. 正式鉴权API 已支持 Supabase Auth JWT继续补真实云端 Auth/JWKS 回归、RLS 深测和自定义角色权限细化。
2. 生产配置 fail-fast默认密钥、`CORS=*`、mock SMS、平台默认 key 必须禁止。
3. JSON body size limit导入接口可配置更大限制但必须有上限。
4. 真实租户隔离测试:跨租户读写、角色越权、资源下载越权。
5. 真实短信/微信小程序登录最小闭环。
### P1商用主链路
1. 微信/支付宝支付和 webhook 幂等。
2. 对象存储 PDF 预览、视频深度防盗链、动态水印。
3. Excel/CSV、分数线、视频批量导入。
4. 数据看板和销售/代理分佣结算。
5. 公共题库授权、租户采纳和版本同步。
### P2增强体验
1. 主题模板、素材库、主题预览/发布。
2. 班级、教师、学生分组和学习督导。
3. AI 择校推荐和 PDF 报告。
4. 题库导出、试卷生成、每日一练运营工具。