feat(backend): 补齐 C 端商业化与账号缺口(金币充值/会员/搜索/语言筛选/Google登录/短信/商店可配置接入)
This commit is contained in:
1 parent
212834d59d
commit
63b086998e
25 files changed
+859
-29
No files matched your search
@@ -1,3 +1,25 @@
|
||||
## 【待 Trae 协助】2026-10-19 | 客户端 P0→P2 契约缺口(不阻塞其余项)
|
||||
|
||||
> 以下能力当前后端契约/配置不具备,客户端不做假按钮、不造接口;已落地的同类入口保持真实可用。请确认后端排期或补充凭据。
|
||||
|
||||
1. **看广告解锁**:`/app/**` 无激励广告相关接口,Flutter 工程也未集成广告 SDK;当前只实现金币解锁。需提供广告平台账号、广告位 ID 与发奖校验接口。
|
||||
2. **Google Play 充值**:`POST /app/orders/verify` 需要真实 `purchaseToken` 与商店商品配置;服务端默认 `verifier=disabled`,客户端无 Google Play Billing 商品/凭据。已按「暂不接则隐藏入口」处理,钱包页不放假充值按钮。
|
||||
3. **短信验证码通道**:`POST /app/auth/otp` 已对接,但服务端当前是 `LogOtpSender`,只写日志不发短信;UI 可发起请求,真机收码需替换短信供应商后才能验收。
|
||||
4. **创作 tab**:契约明确「创作者中心由 Web 端承载,App 不提供创作者中心」,C 端只有 `POST /app/creator/apply`,没有 AI 制作、上传、发布接口。无法做真实创作 tab,需产品确认是否改为「入驻申请」或开放 C 端接口。
|
||||
5. **会员购买**:无 C 端会员商品/订阅接口,后台商品契约也禁止启用 VIP 商品;无法做真实购买流程。
|
||||
6. **搜索接后端**:`/app/**` 无搜索接口;当前只能对已加载目录本地过滤,无法做服务端搜索。
|
||||
7. **剧场语言筛选**:剧目有 `language` 字段,但 `/app/home/feed`、`/app/discover/feed`、卡片 VO、详情 VO 均未下发语言;客户端无真实数据可筛。
|
||||
8. **播放清晰度切换**:`/app/episodes/{id}/play` 当前只下发 `qualities: ["AUTO"]`,没有多清晰度地址;仅保留 AUTO,不伪造切换。
|
||||
9. **Google 登录**:需要 Google OAuth 客户端 ID/服务器配置;当前登录页已移除该假入口。
|
||||
|
||||
---
|
||||
|
||||
## 补充指令(2026-10-19 23:30 周卫东)
|
||||
|
||||
> 1. **UI/UX 参考 Google 设计体系**:遵循 Material Design 3 规范 + Google Stitch 设计理念,界面现代简洁、层次分明,做成精品,不要粗糙界面。
|
||||
> 2. **收尾提交 develop**:所有工作做完、门禁全过后,把 feature 分支合并回 develop 并 `git push origin develop`。用户明天拉 develop 打包验证。
|
||||
|
||||
---
|
||||
# INBOX — 给 Codex 的指令队列(FruitServer 仓库内)
|
||||
|
||||
> **Codex 每次开始任务前必须先读本文件**(2026-10-16 起指令通道从 specs 仓库迁到本仓库)。
|
||||
@@ -20,6 +42,46 @@
|
||||
|
||||
---
|
||||
|
||||
## 🚨🚨 立即开工(最高优先 · 不要等巡检 · 不要做任何收口动作)—— 2026-10-19 周卫东拍板
|
||||
|
||||
> **读到这里就直接开始做下面 P0 → P1 → P2,逐条落地并跑门禁,每条完成写 PROGRESS 留痕。**
|
||||
>
|
||||
> **背景**:周卫东对照「漫剧 App 功能规划图」盘点 ReelShort(Flutter)现状,结论:「看剧」链路真实可用,但「商业化」和「创作」大面积是**假功能/缺失**(金币写死 0、充值弹「示例数据」、解锁弹「即将开放」、下载不落盘、Google/手机登录弹「即将开放」、创作 tab 整个没有)。
|
||||
>
|
||||
> **拍板**:全量补齐 P0→P1→P2。原则——**不贪多,但每个都要能用、要精品**。后端接口已就绪,**全部是 App 端对接活,不重做后端**。
|
||||
>
|
||||
> **工作目录**:`C:\work\ReelShort`(Flutter,分支 `develop`)。禅道任务:29/30/31。
|
||||
|
||||
### P0 — 消灭假功能(做出来的必须能用,最优先)
|
||||
1. 内容解锁闭环:对接 `POST /app/episodes/{id}/unlock`,金币解锁 + 看广告解锁跑通,不再「即将开放」
|
||||
2. 金币余额:对接 `GET /app/wallet`,不再写死 0
|
||||
3. 充值流程:对接订单接口;若支付暂不接则**先隐藏入口**,不给假按钮
|
||||
4. 本地下载落盘:对接 `GET /app/downloads/{episodeId}/url`,真下载 + 离线播放
|
||||
5. 手机号登录:对接 `POST /app/auth/otp`,不再「即将开放」
|
||||
|
||||
### P1 — 补齐规划核心功能
|
||||
6. 「创作」tab(底部导航 3→4):AI 制作入口 + 上传发布入口,对接 creator-center 接口
|
||||
7. 开通会员购买流程
|
||||
8. 首页「榜单」tab
|
||||
9. 剧场「语言筛选」
|
||||
|
||||
### P2 — UX 打磨(精品感)
|
||||
10. 搜索接后端搜索接口(不再本地过滤)
|
||||
11. 点赞/评论显示计数
|
||||
12. 设置页完善(移除 debug「服务器地址」)
|
||||
13. 首页轮播 banner 真正用起来
|
||||
14. 播放清晰度切换
|
||||
|
||||
**门禁**:每条做完 `dart analyze lib test` 零告警 + `flutter test` 全过,再下一条。测试命名 `should_<期望>_when_<条件>`。
|
||||
### 执行状态(2026-10-19 收尾)
|
||||
- P0:金币解锁、钱包余额、本地下载落盘、手机号登录已完成;充值入口按契约隐藏;看广告解锁缺广告接口,见顶部第 1 条。
|
||||
- P1:榜单 tab 已完成;创作 tab、会员购买、剧场语言筛选缺契约,见顶部第 4/5/7 条。
|
||||
- P2:点赞/评论计数、设置页清理、首页轮播 banner 已完成;服务端搜索、播放清晰度切换缺契约,见顶部第 6/8 条。
|
||||
- 门禁:`dart analyze lib test` 零告警;`flutter test` 全过(`+385 ~1`);`flutter build apk --debug` 成功。
|
||||
- 交付:feature/flutter-p0-commerce 已以 --no-ff 合并 develop(ec2db68)并推送 origin/develop。
|
||||
|
||||
---
|
||||
|
||||
## [已处理·待用户验收] 2026-10-17 | K16 注册限流改为可配置(支持不限制)
|
||||
|
||||
**用户指令(2026-10-17)**:「注册 429 限流做成可配置的,不限制或限制数量」。
|
||||
|
||||
Reference in new issue
Block a user