# Supabase 重构功能进度矩阵

更新时间：2026-06-30

## 当前结论

当前重构已经完成了 Supabase/PostgreSQL 多租户底座、核心业务表、PocketBase 数据导入器雏形、学生端核心 API、租户后台 API、平台后台 SaaS 账务 API、平台账号细粒度权限和平台员工管理地基、内容资产/题目/单词/知识手册/分数线/视频 JSON/CSV/Excel 批量导入基础闭环、异步导入 worker、题库导出基础、PDF/Word/每日一练 ZIP 导出 worker、题库入口/任意深度分类/题目集合/练习蓝图/组卷快照基础闭环，以及本地 Docker/API 构建验证。

但这还不是完整商用交付状态，也不能说旧项目核心功能已经全部重构完成。现在更准确的状态是：后端商用架构骨架已经立住，核心业务正在按模块补齐。部分功能已经有可调用 API，部分功能只有数据模型和导入映射，部分功能还没有前端/自动化测试闭环。

## 新旧项目位置

| 范围 | 路径 | 状态 |
| --- | --- | --- |
| 旧 PocketBase/React 项目 | `F:\project\参考\旧题库项目` | 保留作为功能参照和迁移来源 |
| 新 Node API | `F:\project\apps\api` | 已按 `core/features` 分层重构 |
| Supabase/PostgreSQL 迁移 | `F:\project\supabase\migrations` | 已建立多租户和业务域表 |
| PocketBase 数据导入 | `F:\project\scripts\import-pocketbase` | 已支持多类旧数据归一化导入、dry-run 报告与校验 |
| 共享包 | `F:\project\packages\config`、`F:\project\packages\db`、`F:\project\packages\domain` | 已建立基础共享层 |
| 旧 Web 到新 API 适配 | `F:\project\参考\旧题库项目\src\services\supabaseApi.ts` | 仅作参考；后续应在 `apps/taro` 或共享包中建立新的跨端 API client |

## 功能完成度

| 模块 | 数据模型 | PocketBase 导入 | API | 自动化测试 | 当前状态 |
| --- | --- | --- | --- | --- | --- |
| 多租户隔离 | 已建 `tenants`、`tenant_domains`、`tenant_branding`、`tenant_settings`、RLS 基础 | 部分支持 | 租户解析、品牌、域名、支付账户、登录 provider、平台建租户已实现 | 核心 API 集成测试含租户隔离断言 | 基础可用，正式 JWT/RLS 权限闭环未完成 |
| 刷题题库 | 已建题库、题目、题目版本、内容入口、任意深度分类树、考试意向标记、题目集合、练习蓝图、导入任务台账、导出任务台账、公共题库授权/采纳表、租户内容通知表 | 已支持核心映射，JSON/CSV/Excel 导入可落到新入口/节点/集合，阅读理解/案例分析子题沿用 `subQuestions/sub_questions` | 题目列表、内容入口、分类树、集合题目、顺序/随机/全真模拟 session、答题提交、复合题 `subAnswers` 判分和报告明细、租户后台题目录入/更新、JSON/CSV/Excel 预览/导入、JSON/试卷 payload 导出、PDF/Word 异步导出 worker、每日一练九宫格 metadata、PDF/Word 运营版式、ZIP 图片素材包、异步导入 worker、平台公共题库授权、租户采纳快照、手动同步、自动同步 worker、同步通知、冲突查询和单条/批量冲突处理已实现 | 核心 API 集成测试含导航、组卷、复合题后台录入/练习/判分/报告、导入、导出权限/脱敏、每日一练导出 metadata、异步 PDF/Word/每日一练 ZIP job 创建、exports worker、公共题库授权、采纳后组卷、同步新增题、通知隔离/已读/自动 resolved、租户自改冲突保护、单条/批量冲突处理和 worker 自动同步断言；Taro 类型检查覆盖 RichContent 接入 | 新题库导航和组卷基础闭环可跑，阅读理解/案例分析多小题、题干/选项/解析 RichContent 安全渲染和逐题复盘第一版可联调，公共题库采纳/手动/自动同步、同步通知、冲突查询/处理、导入后复检、模板下载、字段映射 API、JSON/PDF/Word/每日一练 ZIP 基础导出可联调；真正 KaTeX/小程序公式方案、私有题图签名映射、公共题库生产调度/失败告警、更精细导出模板和更完整运营消息仍需补齐 |
| 错题本 | 已建 `wrong_questions` | 已支持旧错题归一化 | 错题列表、答题自动入错题、移出错题已实现 | 仅烟测 | 基础功能已实现，复习计划和统计未完成 |
| 收藏夹 | 已建 `favorite_questions` | 已支持旧收藏归一化 | 收藏/取消收藏、收藏列表已实现 | 仅烟测 | 基础功能已实现 |
| 用户订阅/题库会员/SVIP | 已建 `orders`、`payments`、`entitlements`、`svip_plans`、激活码 | 已映射旧 SVIP/会员权益 | 下单、订单详情/状态轮询、手工支付确认权限保护、微信/支付宝支付、微信/支付宝发起退款、微信/支付宝退款查询确认、微信/支付宝退款通知 webhook、激活码预检查/兑换、优惠券抵扣、零元订单自动开通、权益查询、支付/退款补偿、微信/支付宝官方账单下载、资金对账、差错工单、异常订单运营台和人工调整凭证已实现 | API 集成测试、commerce worker 集成测试 | 商城主链路可联调，Taro 租户财务运营台第一版已接；真实生产账单格式验收、生产账号联调和更完整学生端售后体验待补 |
| 背单词 | 已建单词单元、单词、进度、收藏表，并可绑定 `content_entries/content_nodes` | 已支持内容和部分用户状态映射 | 单元/单词只读、进度、收藏、统计、每日复习计划、租户后台单词维护 API、旧模板/新模板 JSON 预览导入、排行榜接口已实现且租户默认关闭 | 核心 API 集成测试含导入和排行榜断言，Taro 类型检查覆盖卡片学习、收藏练习和学习概览 | 学生端学习状态、后台维护、批量 JSON 导入、Taro 学习概览、掌握率、计划拆分、卡片翻转、发音、美/英音切换、收藏练习、本地位置恢复和基础排行榜接口已实现且默认关闭；租户级发音源、更细复习参数、后台统计和小程序音频兼容验收待完善 |
| 知识手册 | 已建手册科目、章节、条目，并可绑定 `content_entries/content_nodes` | 已支持内容导入 | 只读 API、租户后台手册科目/章节/条目维护 API、嵌套 JSON 预览导入已实现 | 核心 API 集成测试含导入断言，Taro 类型检查含 RichContent 阅读页 | 学生端阅读、RichContent 安全渲染、章节内搜索、安全文本摘要高亮、目录定位、后台维护和批量 JSON 导入基础可用；小程序公式真机验收、题图资源字段化、富文本资源/版本管理待补 |
| 分数线 | 已建院校、专业、字段、记录表 | 已支持导入映射 | 字段、院校、专业、记录、动态字段过滤、趋势、年份、租户后台维护 API、JSON 预览导入已实现 | 核心 API 集成测试含导入、动态字段筛选和非法字段拒绝断言 | 查询、后台维护、复杂动态筛选第一版和批量 JSON 导入基础闭环已实现，AI 择校更细上下文和趋势图增强待补 |
| 题目视频讲解 | 已建 `video_explanations`、`question_videos` | 已支持导入映射 | 单题视频、批量预加载、通用视频搜索、播放签名、视频次数扣减、播放水印上下文、租户后台视频创建绑定 API、JSON 预览导入已实现 | 核心 API 集成测试含播放、水印 traceId 和导入断言 | 播放、权益、后台绑定、动态水印上下文和批量 JSON 导入链路已实现，深度防盗链、转码级水印和播放统计待补 |
| 资料下载/PDF | 已扩展 `content_assets`，新增资源台账和导入任务表 | 旧 `app_assets/images` 兼容导入 | 租户后台资源管理、OSS/COS/Supabase Storage 上传/下载签名、上传确认、PDF/图片预览签名、资源访问审计、动态水印上下文、内置安全扫描、外部 HTTP scanner 接入层、题库导出 PDF/Word/每日一练 ZIP 自动发布可信资源、学生端资料列表/下载权限已实现 | 核心 API 集成测试含 SVIP 资料下载、安全扫描门禁、水印 traceId，assets worker 覆盖内置规则与外部 scanner 通过/失败/不可用 fail-closed，exports worker 测试；Taro 类型检查覆盖学生资料水印预览/下载确认 | 资料资源基础闭环可跑，Taro 学生资料页已接短期签名、可见水印覆盖、追踪码展示和强制水印资源外部打开限制第一版；真实 AV/内容安全服务联调、CDN 防盗链、转码/CDN 级水印待补 |
| 个人中心 | 已建 `student_profiles`、会员权益、订单、练习记录、`badges/user_badges`、积分任务/兑换表、`user_notifications` | 已支持部分用户资料和勋章导入 | 个人资料、目标院校/专业、手机号绑定/换绑、会员状态、最近练习、统计聚合、签到积分、积分任务、积分兑换、题目反馈、考试倒计时、勋章和站内通知 API 已实现 | API 集成测试、Taro 类型检查 | 学生端个人中心已接学习报告、14 天趋势、题型表现、最近练习、男女预设头像选择、积分任务/兑换/积分明细、消息中心摘要、激活码和订单入口第一版；独立消息中心已接筛选、批量已读、归档/忽略和站内安全跳转第一版；账号合并和更细学习建议待补；不做头像上传或第三方头像同步 |
| 活动/优惠 | 已建优惠券、激活码、激活码批次、banner、FAQ、公告、勋章、积分任务、积分兑换商品、兑换订单表和用户站内通知表 | 部分支持 | banner/FAQ/公告只读与租户后台维护、激活码预检查/兑换、激活码批次、批量生成激活码、优惠券维护、前台领取/下单抵扣、最低金额、优惠封顶、单用户限次、首单限制、适用套餐/地区、活动分组、核销明细、核销报表、勋章维护、手动发放、签到/积分/反馈/活动任务/练习/单词/模考自动发放、积分任务领取、积分兑换、优惠券兑换履约、积分风控只读报表和站内通知已实现 | 核心 API 集成测试 | Taro 租户营销中心已接优惠券、积分任务/兑换、积分风控摘要和用户通知查看第一版；营销自动化、外部订阅消息/短信和更完整活动效果看板继续补 |
| 销售/代理客资追踪 | 已建推荐码、首绑客资、团队关系、小程序码缓存、CRM 队列 | 旧 `referral_tracks` 已有映射基础 | 邀请码、扫码/分享事件、首绑保护、销售统计、客资明细、手动补绑、团队关系、CRM 配置/队列、跟进分配策略、死信失败池、脱敏日志、重试/忽略和 CRM worker 推送已实现 | 核心 API 集成测试、CRM worker 集成测试 | 增长链路基础可用，真实微信小程序码、富卡片模板、外部失败告警升级和销售转化看板待补 |
| 租户后台 | 已建品牌、域名、设置、支付账户、登录 provider、私密密钥表、成员、审计日志、资源台账、导入台账、内容导航台账 | 不适用 | 概览、品牌、设置、域名、支付账户、登录配置、密钥掩码、活动内容、兑换码/优惠券、成员管理、权限矩阵、审计查询、角色模板权限/菜单/模块/字段/数据范围配置、内容入口/分类树/题目集合/练习蓝图维护、资源管理、题目/单词/知识手册/分数线/视频 JSON/CSV/Excel 同步/异步导入已实现 | 核心 API 集成测试含角色/权限/租户隔离/密钥不泄露/导航/组卷/资源与导入断言 | 租户配置与运营闭环可用；Taro 已接角色模板操作台、字段映射操作台和导入复检结果面板第一版；继续补成员绑定模板、权限驱动菜单和更细数据范围 UI |
| 平台后台 | 已建 SaaS 套餐、订阅、账单、服务费、用量、审计日志、催缴台账、催缴通知事件、平台权限字段和平台员工状态字段 | 不适用 | 租户管理、租户详情、账务资料维护、平台账号权限目录、平台员工列表/创建/编辑/启停、平台路由细粒度权限强校验、平台审计日志、账单、订阅账单候选预览、dry-run、批量生成、自动计费 worker、重复开票保护、用量超额账单候选预览/dry-run/生成/自动开票 worker、超额开票失败审计告警、收款确认、逾期标记、内部催缴记录、催缴外部通知渠道/事件、用量台账、平台用量自动采集 worker、平台管理员 Supabase JWT 鉴权已实现 | API 集成测试已覆盖平台细粒度权限、平台员工创建/权限目录/JWT 访问/越权拒绝/自降级拒绝/禁用后 JWT 拒绝/审计脱敏、平台租户创建、详情、账务资料更新、状态变更、审计查询、订阅批量开票、重复保护、用量超额账单候选/dry-run/生成/重复保护、逾期 dry-run/处理/提醒查询、催缴通知渠道/事件脱敏、非法输入拒绝和学生越权拒绝；`npm run test:worker:platform-billing` 覆盖自动计费幂等和审计，`npm run test:worker:platform-usage` 覆盖月度用量自动采集、手工调整不覆盖和幂等，`npm run test:worker:platform-usage-overage` 覆盖超额账单生成幂等、失败审计告警和敏感错误脱敏，`npm run test:worker:platform-dunning` 覆盖逾期催缴幂等和审计，`npm run test:worker:platform-dunning-notifications` 覆盖催缴外部通知幂等、联系方式掩码和密钥不泄露；Taro 类型检查覆盖平台账务和平台员工管理页面 | 平台收费、租户运营和员工授权链路骨架可用，平台在线收款和更完整平台审计报表待补 |
| 登录认证 | 已建短信验证码、会话、OAuth provider 配置表，并支持 `auth_user_id` 映射 | 旧用户映射已预留 | 短信 mock 登录、迁移期 session、Supabase JWT 验签映射、微信小程序登录主链路、微信网页登录、QQ 登录、手机号绑定/换绑已实现 | API 集成测试 | H5 Supabase Auth 可联调；真实短信/OAuth 生产账号和回调域名联调待补 |
| 数据导入 | 已建立 importer、risk report、dry-run report、validate | 已覆盖多类旧集合 | 命令行 dry-run/导入/校验 | `pb:import:dry-run`、`pb:import:validate`、`test:pb:dry-run` 覆盖 strict warning 和关系断裂门禁 | 基础工具和真实迁移 runbook 可用，需拿真实完整数据执行多轮 dry-run、导入回归和抽样验收 |
| 测试体系 | 不适用 | 不适用 | 不适用 | 已新增核心 API 集成测试、租户隔离测试、权限矩阵测试、资源/题目导入测试、导入校验 | 还不是完整覆盖，支付幂等、真实导入回归、前端端到端测试仍需补 |

## 已实现 API 范围

```text
auth:
  POST /api/auth/sms/send
  POST /api/auth/sms/verify
  GET  /api/auth/me
  POST /api/auth/logout
  POST /api/auth/phone/bind
  POST /api/auth/oauth/wechat
  POST /api/auth/oauth/wechat-miniapp
  POST /api/auth/oauth/qq

tenant:
  GET  /api/tenant/resolve

catalog:
  GET  /api/catalog/regions
  GET  /api/catalog/region-modules
  GET  /api/catalog/module-nodes
  GET  /api/catalog/schools
  GET  /api/catalog/majors
  GET  /api/catalog/subjects
  GET  /api/catalog/categories
  GET  /api/catalog/questions
  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
  GET  /api/catalog/vocabulary-units
  GET  /api/catalog/vocabulary-words
  GET  /api/catalog/handbook-subjects
  GET  /api/catalog/handbook-chapters
  GET  /api/catalog/handbook-entries
  GET  /api/catalog/banners
  GET  /api/catalog/faqs
  GET  /api/catalog/announcements
  GET  /api/catalog/products
  GET  /api/catalog/timelines
  GET  /api/catalog/svip-plans

learning:
  GET  /api/learning/leaderboard
  POST /api/learning/practice-sessions
  GET  /api/learning/practice-sessions/detail
  GET  /api/learning/practice-sessions/history
  POST /api/learning/practice-sessions/submit
  GET  /api/learning/practice-sessions/report
  GET  /api/learning/practice-reports
  GET  /api/learning/stats
  GET  /api/learning/trend
  POST /api/learning/answers
  GET  /api/learning/favorites/questions
  POST /api/learning/favorites/questions
  GET  /api/learning/wrong-questions
  GET  /api/learning/wrong-questions/review-plan
  POST /api/learning/wrong-questions/resolve
  GET  /api/learning/vocabulary/progress
  POST /api/learning/vocabulary/progress
  GET  /api/learning/vocabulary/favorites
  POST /api/learning/vocabulary/favorites
  GET  /api/learning/vocabulary/stats

profile:
  GET   /api/profile/me
  PATCH /api/profile/me
  POST  /api/profile/check-in
  GET   /api/profile/score-events
  GET   /api/profile/badges
  GET   /api/profile/feedbacks
  POST  /api/profile/feedbacks
  GET   /api/profile/exam-countdowns

scoreline:
  GET  /api/scoreline/fields
  GET  /api/scoreline/schools
  GET  /api/scoreline/majors
  GET  /api/scoreline/records
  GET  /api/scoreline/trend
  GET  /api/scoreline/years

video:
  GET  /api/questions/{questionId}/videos
  GET  /api/questions/videos?questionId=...
  POST /api/questions/videos/batch
  GET  /api/videos/search

tenant-content:
  GET   /api/tenant-content/content-entries
  PUT   /api/tenant-content/content-entries
  GET   /api/tenant-content/public-question-banks
  POST  /api/tenant-content/public-question-banks/adopt
  POST  /api/tenant-content/public-question-banks/sync
  GET   /api/tenant-content/public-question-banks/conflicts
  POST  /api/tenant-content/public-question-banks/conflicts/resolve
  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
  PUT   /api/tenant-content/assets
  POST  /api/tenant-content/assets/sign-upload
  POST  /api/tenant-content/assets/sign-download
  POST  /api/tenant-content/imports/preview/questions
  POST  /api/tenant-content/imports/questions
  POST  /api/tenant-content/imports/preview/vocabulary
  POST  /api/tenant-content/imports/vocabulary
  POST  /api/tenant-content/imports/preview/handbook
  POST  /api/tenant-content/imports/handbook
  POST  /api/tenant-content/imports/preview/scoreline
  POST  /api/tenant-content/imports/scoreline
  POST  /api/tenant-content/imports/preview/videos
  POST  /api/tenant-content/imports/videos
  GET   /api/tenant-content/imports
  GET   /api/tenant-content/imports/detail
  GET   /api/tenant-content/imports/issues
  POST  /api/tenant-content/exports/questions
  GET   /api/tenant-content/exports/jobs
  GET   /api/tenant-content/videos
  PUT   /api/tenant-content/videos
  POST  /api/tenant-content/question-videos
  GET   /api/tenant-content/scoreline/schools
  PUT   /api/tenant-content/scoreline/schools
  GET   /api/tenant-content/scoreline/majors
  PUT   /api/tenant-content/scoreline/majors
  GET   /api/tenant-content/scoreline/fields
  PUT   /api/tenant-content/scoreline/fields
  GET   /api/tenant-content/scoreline/records
  PUT   /api/tenant-content/scoreline/records
  GET   /api/tenant-content/vocabulary-units
  PUT   /api/tenant-content/vocabulary-units
  GET   /api/tenant-content/vocabulary-words
  PUT   /api/tenant-content/vocabulary-words
  GET   /api/tenant-content/handbook-subjects
  PUT   /api/tenant-content/handbook-subjects
  GET   /api/tenant-content/handbook-chapters
  PUT   /api/tenant-content/handbook-chapters
  GET   /api/tenant-content/handbook-entries
  PUT   /api/tenant-content/handbook-entries

commerce:
  POST /api/commerce/orders
  GET  /api/commerce/orders
  GET  /api/commerce/orders/detail
  GET  /api/commerce/orders/status
  GET  /api/commerce/entitlements
  GET  /api/commerce/entitlements/check
  POST /api/commerce/payments/create
  POST /api/commerce/payments/manual-confirm
  POST /api/commerce/payments/notify/wechat_pay
  POST /api/commerce/payments/notify/alipay
  POST /api/commerce/reconciliation/preview
  POST /api/commerce/reconciliation/import
  GET  /api/commerce/reconciliation/batches
  GET  /api/commerce/reconciliation/items
  GET  /api/commerce/reconciliation/anomalies
  POST /api/commerce/reconciliation/issues/create
  GET  /api/commerce/reconciliation/issues
  POST /api/commerce/reconciliation/issues/status
  GET  /api/commerce/reconciliation/issues/events
  POST /api/commerce/activation-codes/check
  POST /api/commerce/activation-codes/redeem
  POST /api/commerce/coupons/claim

referral/crm:
  POST /api/referral/invite-code
  POST /api/referral/resolve
  POST /api/referral/track-event
  POST /api/referral/bind
  GET  /api/referral/stats
  GET  /api/referral/sales-stats
  GET  /api/referral/sales-clients
  POST /api/referral/manual-bind
  GET  /api/referral/team
  PUT  /api/referral/team
  POST /api/referral/qrcode
  GET  /api/crm/config
  PUT  /api/crm/config
  GET  /api/crm/queue
  GET  /api/crm/dead-letters
  GET  /api/crm/queue/logs
  POST /api/crm/queue/action

tenant-admin:
  GET  /api/tenant-admin/permissions
  GET  /api/tenant-admin/overview
  PUT  /api/tenant-admin/branding
  PUT  /api/tenant-admin/settings
  GET  /api/tenant-admin/domains
  POST /api/tenant-admin/domains
  GET  /api/tenant-admin/payment-accounts
  PUT  /api/tenant-admin/payment-accounts
  GET  /api/tenant-admin/auth-providers
  PUT  /api/tenant-admin/auth-providers
  GET  /api/tenant-admin/secrets
  PUT  /api/tenant-admin/secrets
  GET  /api/tenant-admin/banners
  PUT  /api/tenant-admin/banners
  GET  /api/tenant-admin/faqs
  PUT  /api/tenant-admin/faqs
  GET  /api/tenant-admin/announcements
  PUT  /api/tenant-admin/announcements
  GET  /api/tenant-admin/badges
  PUT  /api/tenant-admin/badges
  GET  /api/tenant-admin/badge-grants
  POST /api/tenant-admin/badge-grants
  GET  /api/tenant-admin/exam-dates
  PUT  /api/tenant-admin/exam-dates
  GET  /api/tenant-admin/feedbacks
  GET  /api/tenant-admin/feedbacks/report
  POST /api/tenant-admin/feedbacks/status
  GET  /api/tenant-admin/feedbacks/events
  GET  /api/tenant-admin/code-batches
  PUT  /api/tenant-admin/code-batches
  GET  /api/tenant-admin/activation-codes
  PUT  /api/tenant-admin/activation-codes
  POST /api/tenant-admin/activation-codes/generate
  GET  /api/tenant-admin/coupons
  PUT  /api/tenant-admin/coupons
  GET  /api/tenant-admin/coupons/redemptions
  GET  /api/tenant-admin/coupons/report
  GET  /api/tenant-admin/members
  PUT  /api/tenant-admin/members
  POST /api/tenant-admin/members/disable
  GET  /api/tenant-admin/audit-logs

platform-admin:
  GET   /api/platform-admin/permissions
  GET   /api/platform-admin/overview
  GET   /api/platform-admin/plans
  GET   /api/platform-admin/tenants
  POST  /api/platform-admin/tenants
  GET   /api/platform-admin/tenants/detail
  PATCH /api/platform-admin/tenants/status
  PUT   /api/platform-admin/tenants/billing-profile
  GET   /api/platform-admin/audit-logs
  POST  /api/platform-admin/subscriptions
  GET   /api/platform-admin/invoices
  POST  /api/platform-admin/invoices
  GET   /api/platform-admin/invoices/subscription-candidates
  POST  /api/platform-admin/invoices/from-subscription
  POST  /api/platform-admin/invoices/from-subscriptions-batch
  POST  /api/platform-admin/invoices/payments/manual-confirm
  GET   /api/platform-admin/usage
  POST  /api/platform-admin/usage
```

## 商用交付缺口

上线前至少还需要完成：

1. 正式鉴权：API 已支持 Supabase Auth JWT；生产前继续做真实云端 Auth/JWKS 回归、RLS 深测，并关闭 `x-user-id`、`x-platform-admin-key` 兼容入口。
2. 国内能力接入：短信、微信小程序登录、微信网页登录、QQ 登录、微信支付、支付宝支付、发起退款、退款查询确认和退款通知 webhook 的租户级配置入口与本地 provider 验证已具备；资金对账、支付/退款补偿和差错工单已完成基础闭环，真实生产账号联调和官方账单下载仍需继续完善。
3. 核心缺口 API：学生端个人中心、手机号绑定/换绑、分数线、题目视频详情、背单词进度/收藏、签到积分、题目反馈、勋章和站内通知已补基础 API；下一步重点是后台统计、真实业务验收和更细学习建议。
4. 后台能力：题库录入、题目/单词/知识手册/分数线/视频 JSON/CSV/Excel 同步/异步批量导入、导入后复检、模板下载/字段映射 API、资源台账、视频绑定、知识手册维护、分数线维护、品牌/商户/登录/活动/兑换码配置、销售客资、CRM 队列、成员权限、审计查询已补 API；前端操作台待补。
5. 自动化测试：已建立核心 API、租户隔离、权限矩阵、后台维护、资源/导入、微信/支付宝支付 webhook、退款、支付补偿、资金对账、差错工单、优惠券/激活码/订单状态集成测试；仍需真实数据导入回归、官方账单下载和前端端到端测试。
6. Taro 前端：建立 `apps/taro` 或等价跨端应用，把 H5 和小程序统一走同一套 API client。
7. 运维交付：生产环境变量、备份恢复、日志监控、异常告警、数据库迁移流程、灰度发布、回滚预案。

## 下一步优先级

为了先把旧项目核心业务补齐，再进入支付/短信等商用关键模块，建议按下面顺序继续：

1. 完善内容导入和文件上传：字段映射 UI、真实数据 dry-run 执行验收、CDN 防盗链、真实 AV/内容安全服务联调。
2. 补公共题库生产定时调度/失败告警、租户套餐地区/科目/题库范围限制、主题模板系统。
3. 补学习统计增强：专项练习策略和更细题型分析；排行榜默认关闭且学生端默认不请求，仅在租户显式购买/开启活动并完成压测后再补防刷和预聚合。
4. 补视频商用控制：深度防盗链、转码级水印和播放统计。
5. 补 AI 择校推荐报告、外部订阅消息/短信和更完整活动效果看板；排行榜只作为显式活动需求进入后续防刷/预聚合开发。
6. 接真实短信/OAuth 生产账号、真实生产账单格式验收和异常订单运营台，并继续推进 Taro scaffold。
