forked from wangziqi/gongxue-base
133 lines
20 KiB
Markdown
133 lines
20 KiB
Markdown
# 旧题库功能差距矩阵
|
||
|
||
更新时间:2026-06-30
|
||
|
||
旧项目位于 `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 快照、练习历史、趋势统计和题目反馈已由后端强制;Taro 已有答题卡、后端 session detail 续练、本地进度恢复、客观题自动提交、主观题后端自评、阅读理解/案例分析多小题作答、题干/选项/解析 RichContent 安全渲染、H5 KaTeX 公式渲染、`content_assets` 私有题图短签名渲染地基和报告明细第一版;继续补小程序公式真机验收、题图资源字段化和更完整复盘体验 |
|
||
| 随机刷题 | `pages/Quiz.tsx` | 部分覆盖 | 已有 blueprint/session 快照、访问控制和历史统计;Taro 已按 session 题目快照渲染第一版,并复用 RichContent 渲染长题干/图片/公式占位;继续补随机刷题状态管理和更完整复盘 |
|
||
| 全真模拟 | `components/AdminMockexam`、`MockExamConfigModal.tsx` | 部分覆盖 | blueprint、session 快照、倒计时、交卷评分、分段统计、错题解析汇总、逐题复盘第一版和复合题子题部分得分已覆盖;后续补完整复盘体验。排行榜/排名不默认进入学生端,仅在租户显式开启活动后接入 |
|
||
| 错题本 | 用户 stats/错题逻辑 | 已覆盖 | 错题列表、移出错题、复习计划和 `wrong_review` 后端组卷已覆盖;后续补更细的间隔复习算法 |
|
||
| 收藏夹 | `WordFavoritesPage.tsx`、题目收藏 | 已覆盖 | 题目和单词收藏已有 |
|
||
| 题目视频 | `VideoPlayer.tsx` | 部分覆盖 | 题目视频查询、播放签名、SVIP/次数扣减、播放日志和动态水印上下文已有;缺深度防盗链、转码级水印、播放统计报表 |
|
||
| 背单词 | `VocabularyPage.tsx`、`VocabularyQuiz.tsx` | 部分覆盖 | 单词列表、进度、收藏、统计、每日计划、后端复习调度、Taro 学习概览、掌握率、计划拆分、卡片翻转、上一个/下一个、跳转、发音、美/英音切换、收藏练习和本地进度恢复第一版已覆盖;后续补租户级发音源配置、小程序音频兼容验收和更精细的间隔算法参数。排行榜运营看板只作为显式活动需求 |
|
||
| 知识手册 | `Handbook*.tsx` | 已覆盖 | Taro 已接手册科目/章节/条目、RichContent 安全渲染、章节内搜索、安全文本摘要高亮、目录定位、H5 KaTeX 公式渲染和私有资源 ID 短签名地基第一版;后续补小程序公式真机验收和图片资源字段化 |
|
||
| 分数线 | `ScorelinePage.tsx` | 已覆盖 | 动态字段/趋势、后台维护、JSON 批量导入、学生端院校/专业/年份/动态字段筛选已有;后续补趋势图增强和 AI 择校更细运营配置 |
|
||
| 商城/SVIP | `Store.tsx`、`SvipModal.tsx` | 部分覆盖 | 套餐、订单、订单详情/状态轮询、权益、激活码预检查/兑换、优惠券领取/下单抵扣、微信支付/支付宝 provider 主链路、内部退款状态机、微信/支付宝发起退款、退款查询确认、退款通知 webhook、支付/退款补偿 worker、全额退款权益撤销、资金对账手工/API 导入比对、微信/支付宝官方账单下载 worker、异常查询、差错工单和事件轨迹、异常订单运营台、人工调整凭证复核报表已有;Taro 学生收银台/订单详情和租户财务运营台第一版已接;仍缺更完整售后体验、真实生产账单抽样验收和生产账号联调 |
|
||
| 个人中心 | `Profile.tsx` | 部分覆盖 | 基本资料、手机号绑定/换绑、男女预设头像、权益、订单统计、练习历史、学习统计、签到积分、积分活动任务、积分兑换、考试倒计时、趋势、勋章展示和站内通知 API 已有;Taro 个人中心已接学习报告、男女预设头像选择、积分任务、积分兑换、积分明细、消息筛选/已读/归档第一版;后端登录和导入链路不会保存微信/QQ/旧系统头像 URL,产品不支持学生头像上传;继续补账号合并和更细学习建议 |
|
||
| 资料下载 | `QuestionExporterPublishModal.tsx` 等 | 部分覆盖 | 资源台账、上传确认、签名下载、PDF/图片预览、动态水印上下文、Taro 学生端水印 traceId 预览/下载确认、worker 复检、内置安全扫描和外部 HTTP scanner 接入层已有;仍缺深度防盗链、真实 AV/内容安全服务联调、转码/CDN 级水印和生命周期策略 |
|
||
| AI 择校推荐 | 业务规划新增 | 部分覆盖 | 已有 SVIP 门禁、学生输入 schema、地区/分数线上下文、稳定 JSON 输出、报告台账、审计、Markdown/HTML 导出和 Taro 学生端基础页;真实 AI provider、prompt 版本管理后台、报告 PDF worker 渲染和更细推荐算法待补 |
|
||
| 题目反馈 | `02-API接口.md` 用户反馈 | 部分覆盖 | 学生提交、本人列表、租户后台处理、状态事件、反馈奖励积分、站内通知和租户反馈运营聚合报表已覆盖;Taro 个人中心消息中心可查看反馈处理/奖励通知,租户营销中心已接 30 天反馈运营摘要;仍缺外部订阅消息/短信提醒和内容修复闭环 |
|
||
| 签到积分 | `Profile.tsx`、`02-API接口.md` | 部分覆盖 | 每日签到、连续签到基础、积分流水、重复签到幂等、签到/积分阈值自动发放勋章、积分活动任务、积分兑换商品、优惠券兑换履约、租户后台配置和积分风控只读报表已覆盖;学生激励默认以勋章自动发放为主,排行榜不默认开启;后续补更细活动效果看板和更多系统触发任务 |
|
||
| 排行榜 | `leaderboard.pb.js`、`02-API接口.md` | 可选活动能力 | 已有刷题数、积分、背单词、模考最高分排行榜,支持租户/地区/班级范围和当前用户排名;租户默认关闭,学生端默认不请求、不展示;日常学习激励以后台勋章自动发放为主。后续仅在租户明确购买/开启活动并压测后补防刷、日/周榜预聚合、运营后台排名看板 |
|
||
|
||
## 租户后台功能
|
||
|
||
| 旧功能/组件 | 新后端状态 | 待补齐 |
|
||
| --- | --- | --- |
|
||
| 用户管理 | 已覆盖 | 租户成员、学生列表、学生资料、批量学生 upsert、禁用/恢复、批量分班、学生备注、跟进任务、跟进效果统计、学习督导自动化预览/生成、督导规则模板、定时生成 worker 和批量 CRM 推送已实现;后续补更细导入模板体验、更细数据范围 UI、触达联动和效果归因 |
|
||
| 销售/代理管理 | 部分覆盖 | referral/team/stats 已有;分佣设置、订单/激活码归因、结算单生成、审核、打款状态、CSV/JSON 导出、打款凭证登记/复核和本人/全局权限范围已覆盖;还缺真实打款 provider、发票、批量凭证上传和分佣看板 |
|
||
| 班级/教师管理 | 已覆盖 | 班级、班级成员、教师/班主任/助教/学生范围权限已有;可视化 UI 和更细数据范围组合待补 |
|
||
| 数据看板 | 部分覆盖 | 租户 dashboard 聚合 API 已覆盖收益、注册、答题、活跃、题型、科目、题量、套餐销量、运营动态、24h 活跃和激活码使用;后续补预聚合 worker、销售转化和分佣结算看板 |
|
||
| 地区管理 | 部分覆盖 | 地区和内容入口已有;平台公共题库已可按 SaaS 套餐/租户授权并由租户采纳;还缺更完整的全国/单地区套餐 UI 和版本同步策略 |
|
||
| 品牌配置 | 已覆盖 | 品牌基础配置、主题模板、草稿预览、发布和公开解析已有;后续补素材库和更精细视觉编辑器 |
|
||
| 自定义域名 | 已覆盖 | 生产需补 DNS 校验、证书状态、回源校验 |
|
||
| 主题系统 | 部分覆盖 | 三套平台主题模板、租户草稿预览、发布、权限、审计和 Taro 租户设置页第一版已补;仍缺素材库、更多模板和可视化细节编辑 |
|
||
| 商户收款配置 | 部分覆盖 | 配置 API 有;缺真实支付 provider 和验签 |
|
||
| 登录配置 | 部分覆盖 | 配置 API 有;缺真实短信/OAuth provider 实现 |
|
||
| Banner/公告/FAQ/活动 | 已覆盖 | 前端运营后台可以接 |
|
||
| 考试日期/倒计时 | 已覆盖 | 租户后台维护、学生端和公开目录查询已有;前端需展示地区/院校匹配结果 |
|
||
| SVIP 套餐 | 部分覆盖 | 地区/科目/题库范围校验已接入练习/资料/视频;后续补分类/专业增项购买和套餐规则 UI |
|
||
| 优惠券 | 已覆盖 | 后台配置、前台领取、同用户同券未核销幂等、下单抵扣、全额优惠自动开通权益、最低金额、封顶、单用户限次、首单限制、适用套餐/地区、活动分组、核销明细和报表已有;前端营销活动 UI 继续完善 |
|
||
| 激活码 | 已覆盖 | 批次、生成、预检查、兑换、自用码拒绝、地区校验主链路已有 |
|
||
| 勋章管理 | 部分覆盖 | 后台勋章维护、手动发放、重复发放幂等、学生端勋章展示、权限隔离、签到连续天数、积分阈值、反馈解决、积分活动、练习次数、单词掌握、模考成绩自动发放和站内通知已覆盖;积分风控只读报表已接租户营销中心;前端运营 UI 和更完整活动效果看板待补 |
|
||
| 题库录入 | 已覆盖 | 单题创建/更新、题目/单词/知识手册/分数线/视频 JSON/CSV/Excel 同步/异步导入、集合/蓝图、导入后复检、模板下载、字段映射 API 和导入任务详情已有;Taro 租户内容页已接上传/粘贴预览、模板下载、字段别名编辑、同步/异步执行、异步轮询和复检结果详情第一版;真实数据验收待补 |
|
||
| 题库导出 PDF/Word/JSON/每日一练 ZIP | 部分覆盖 | 服务端 JSON、`paper_json`、打印 payload、PDF、Word 和每日一练 ZIP 图片素材包异步导出已补,含租户内容编辑权限、跨租户拒绝、答案/解析开关、子题脱敏、导出 job、审计、水印、`content_assets` 发布/下载路径和 exports worker;每日一练九宫格 metadata、PDF/Word 基础版式、9 张 PNG/SVG 卡片和拼图包已补;后续补更精细试卷模板和后台操作台体验 |
|
||
| 题型分组/模拟卷配置 | 部分覆盖 | question_type_groups 表和 blueprint 有基础;后台配置体验待补 |
|
||
| 背单词维护 | 已覆盖 | 单元/单词 CRUD 和导入已有 |
|
||
| 知识手册维护 | 已覆盖 | subject/chapter/entry CRUD 和导入已有 |
|
||
| 分数线维护 | 已覆盖 | 字段/院校/专业/记录 CRUD 和 JSON 批量导入已有 |
|
||
| 视频维护/绑定 | 已覆盖 | video CRUD、question-video 绑定和视频 JSON 批量导入已有 |
|
||
| 用户站内通知 | 部分覆盖 | 反馈处理、反馈奖励、勋章发放和积分兑换会写入 `user_notifications`,学生可查/标记状态,租户后台可按权限查看租户内通知;Taro 学生个人中心已接消息摘要,独立消息中心已接状态/类型筛选、批量已读、已读/归档/忽略和站内安全跳转第一版,租户营销中心已接用户通知查看第一版 | 外部微信订阅消息/短信、批量统计和运营效果看板待补 |
|
||
| CRM 配置和队列 | 部分覆盖 | 配置/队列、`none/direct/round_robin/referrer` 跟进分配策略、学生批量 CRM 推送、跟进效果统计、钉钉/飞书/企微 worker、签名和重试已有;富卡片模板、失败告警、死信运营台和更细销售转化看板待补 |
|
||
| 对象存储配置 | 部分覆盖 | 系统 env provider、上传签名、上传确认、预览下载签名、资源访问审计、水印 traceId、内置安全扫描和外部 HTTP scanner 接入层已有;租户级存储策略、CDN/转码级水印/真实 AV 服务联调待补 |
|
||
|
||
## 平台 SaaS 后台功能
|
||
|
||
| 功能 | 新后端状态 | 待补齐 |
|
||
| --- | --- | --- |
|
||
| 创建/管理租户 | 已覆盖 | 平台后台租户列表、创建租户、租户详情、状态变更、账务资料维护、最近平台审计查询/导出、开放审计告警查询/确认/解决、审计告警外部通知渠道/事件、订阅账单候选预览、dry-run、批量生成、自动计费 worker、逾期标记、内部催缴台账和催缴外部通知已接真实 API/worker;后续补租户基础资料编辑增强和审计告警升级策略 |
|
||
| SaaS 套餐 | 部分覆盖 | 已和公共题库授权打通;后续继续补地区数量、科目范围、存储/学生数等组合套餐限制 |
|
||
| 年费/服务费账单 | 已覆盖 | 订阅账单候选、批量开票、自动计费、人工收款、逾期标记、租户 `past_due` 状态、内部催缴记录和平台催缴外部 webhook 通知已覆盖;真实平台在线收款、外部短信/微信订阅消息和停用策略待补 |
|
||
| 租户用量记录 | 已覆盖 | 自动采集 worker 待补 |
|
||
| 公共题库/地区题库 | 部分覆盖 | 已有平台公共题库列表、授权编辑、租户可采纳列表、采纳快照复制、采纳后练习组卷、手动同步 API、自动同步 worker、同步通知、冲突查询 API、单条/批量冲突“采纳平台/保留本地”处理和平台后台页面;同步会重新校验授权、复制平台新增/更新题目,并对租户自改题目返回冲突不覆盖 | 缺生产定时调度、失败告警和更完整运营消息 |
|
||
| 跨租户运营看板 | 部分覆盖 | overview 有基础;缺完整 BI 聚合 |
|
||
| 租户安全审计 | 部分覆盖 | 租户侧 audit logs 和平台侧 `/api/platform-admin/audit-logs` 第一版已有,平台侧 `/api/platform-admin/audit-logs/export` 可按租户、动作、目标、操作者、日期和关键词导出 CSV/JSON,导出会递归脱敏敏感字段并写审计;平台审计告警规则、开放告警查询、确认/解决/忽略和 `platform-audit-alerts` worker 第一版已覆盖,告警 details 会递归脱敏;`platform-audit-notifications` worker 已支持 generic/钉钉/飞书/企微 webhook 外部通知、发送事件台账、重试和请求 payload 脱敏;平台后台工作台/租户详情页可查看最近审计,工作台可导出 CSV、处理开放告警并查看通知渠道/事件摘要;缺更完整筛选 UI、升级策略和运营报表 |
|
||
|
||
## 旧功能中应重新设计的点
|
||
|
||
- 旧项目把很多用户状态放在 JSON 或前端逻辑里,新项目应拆到独立表或后端服务。
|
||
- 旧树形结构只作为迁移来源,新前端应使用 `content_entries/content_nodes/question_collections/practice_blueprints`。
|
||
- 旧资料/视频 URL 不能继续让前端直连私有资源,新项目统一走 `content_assets` 和签名 URL。
|
||
- 旧后台的一些“隐藏入口/超管直贴 JSON”应改为 preview/import/job/issue 审计流。
|
||
- 旧支付和激活码逻辑要统一成订单、支付事件、权益开通、幂等 webhook。
|
||
- 旧销售追踪要升级为租户内角色权限 + 首绑保护 + 分佣结算 + CRM worker。
|
||
|
||
## 后端补齐优先级
|
||
|
||
## 和旧题库相比仍缺的明确功能
|
||
|
||
这些是旧项目中已经出现过、但新后端还没有完整业务闭环的功能:
|
||
|
||
1. 阅读理解/案例分析多小题:后端 `subAnswers` 判分、断点恢复、报告 `subResults`、Taro 作答 UI、RichContent 长题干/图片/H5 KaTeX 公式渲染、私有资源 ID 短签名题图和逐题复盘第一版已完成;仍需补小程序公式真机验收、题图资源字段化和更细复盘交互。
|
||
2. 排行榜可选活动:刷题、模考、背单词、积分排行榜主接口已有,租户默认关闭,学生端默认不请求;当前不是主线待办。只有租户明确购买/开启活动并完成压测后,再补防刷、日/周榜预聚合和运营后台排名看板。
|
||
3. 账号设置完整流:绑定/更换手机号基础 API、男女预设头像契约和 Taro 头像选择 UI 已完成;仍缺微信/QQ 账号合并、密码/邮箱能力。头像上传、头像裁剪和第三方头像同步不做。
|
||
4. 题库导出:服务端 JSON/试卷 payload、PDF/Word 二进制生成、水印、资料发布路径、权限审计、答案脱敏、每日一练基础导出和图片 ZIP 素材包已补;仍缺更精细试卷模板和后台导出操作台体验。
|
||
5. 导入扩展:题目/单词/知识手册/分数线/视频已支持 JSON、CSV 和 Excel 预览导入,并可用 `executionMode=async` 进入 imports worker;导入后复检、导入任务详情、模板下载按钮、字段映射 API、Taro 字段别名编辑、异步轮询和 PocketBase JSON dry-run 报告已补,仍缺真实数据执行验收。
|
||
6. 公共题库商业化:平台公共/地区题库授权、租户快照采纳、手动同步、自动同步 worker、同步通知、冲突查询、租户自改冲突保护和单条/批量冲突处理已完成基础闭环;还需生产定时调度、失败告警和更完整运营后台消息。
|
||
7. CRM/销售结算:CRM worker、跟进分配策略、学生批量 CRM 推送、跟进效果统计、分佣规则、结算单、审核、打款状态、导出和凭证复核基础闭环已完成;仍缺富卡片模板、失败告警、死信运营台、真实打款 provider、发票和销售结算看板。
|
||
8. AI 择校推荐增强:后端 `local_rules` 地基、SVIP 门禁、报告列表/详情、本人报告 Markdown/HTML 导出和 Taro 基础页已完成;仍缺真实 AI provider、prompt 编排、PDF worker 报告和后台运营配置。
|
||
9. 题目反馈增强:站内通知后端第一版已完成;仍缺前端消息中心、外部订阅消息/短信提醒、问题聚合统计和内容修复闭环。
|
||
10. 积分活动增强:积分兑换、活动任务、优惠券兑换履约、后台配置和积分风控只读报表第一阶段已完成;仍缺活动效果看板和更细系统任务触发。
|
||
11. 勋章增强:后台维护、手动发放、签到/积分/反馈/活动任务/练习次数/单词掌握/模考成绩自动发放和发放站内通知已有;仍缺前端运营配置体验和更完整活动效果看板。
|
||
|
||
### 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. 对象存储真实 AV/内容安全服务联调、视频深度防盗链、转码级水印。
|
||
3. 真实数据 dry-run 执行验收、导入抽样校验和性能压测。
|
||
4. 数据看板预聚合 worker、销售/代理转化看板和分佣结算。
|
||
5. 公共题库生产定时调度、失败告警、租户确认/跳过策略和更完整运营消息。
|
||
|
||
### P2:增强体验
|
||
|
||
1. 素材库、更多主题模板和可视化细节编辑。
|
||
2. 班级、教师、学生分组的更细数据范围 UI、学习督导触达联动和效果归因。
|
||
3. AI 择校推荐和 PDF 报告。
|
||
4. 题库导出模板精排、多模板排版和运营操作台。
|