forked from wangziqi/gongxue-base
130 lines
11 KiB
Markdown
130 lines
11 KiB
Markdown
# 旧题库功能差距矩阵
|
||
|
||
更新时间: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、时间线、考试倒计时、入口、个人统计有基础;缺完整运营动态和学习任务聚合 |
|
||
| 题库入口 | `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` | 部分覆盖 | 每日签到、连续签到基础、积分流水、重复签到幂等已覆盖;缺积分兑换、活动任务和更完整的运营规则 |
|
||
| 排行榜 | `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. 账号设置完整流:头像上传、绑定/更换手机号、微信/QQ 账号合并、密码/邮箱能力。
|
||
4. 题库导出:PDF/Word/JSON 导出、水印、导出审计和权限控制。
|
||
5. 导入扩展:Excel/CSV、分数线、视频批量导入和大批量异步 worker。
|
||
6. 公共题库商业化:平台公共/地区题库披露、租户采纳、套餐授权、版本同步。
|
||
7. CRM/销售结算:真实 CRM worker、轮询/定向分配、分佣规则、结算单、审核和导出。
|
||
8. 题目反馈增强:处理通知、消息提醒、问题聚合统计和内容修复闭环。
|
||
9. 积分活动增强:积分兑换、活动任务、连续签到奖励规则和风控。
|
||
|
||
### 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. 题库导出、试卷生成、每日一练运营工具。
|