feat(config): 增加两套引导视频奖励配置 #96
Reference in New Issue
Block a user
Delete Branch "fix-guideVideoFix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🤖 review-pr 深审结论
🔴 必须改(后端契约缺失) · 置信度 0.9
前端把「引导视频」配置重构成 coupon / comparison 两套场景(每个 API 带
?scene=),并重新开放max_plays/reward_coin编辑、展示total_plays/granted_plays。但——GuideVideoConfig.tsx— 后端origin/main的 admin API/admin/api/guide-video(GET/PATCH//video)是单份全局配置(get_config(db)/update_config(db, enabled/max_plays/reward_coin)无 scene;配置存单个AppConfig[_KEY]行),不认?scene=。scene 只存在于播放表GuideVideoPlay与客户端/api/v1。→ 两个 tab 读写同一份配置,保存 comparison 会覆盖 coupon(反之亦然);FastAPI 忽略多余 query 参数、请求仍返回 200,静默错乱不报错。且当前无任何 open 后端 PR 补 admin 层 scene。src/lib/types.ts—max_plays/total_plays等字段注释仍写「后台不开放调整 / 不再展示」,与本 PR 重新开放编辑+展示自相矛盾,建议同步更新注释。正面:InputNumber 上限
50/10000与后端MAX_PLAYS_LIMIT=50/REWARD_COIN_LIMIT=10_000精确对齐;types.ts 字段齐、前端用法类型自洽;无运行时崩溃。构建:未跑前端全量构建(隔离 worktree 无 node_modules;本 PR 缺陷是运行时契约,构建也测不出)。类型层已静态核对。
建议:后端先加 admin 层 scene 支持(每场景一份配置 + GET/PATCH/
/video/DELETE 带 scene),#96 再合并;否则两 tab 互相覆盖。或本期先只保留单场景(撤 comparison tab),待后端就绪再上第二套。🔒 只读深审 · worktree 旁路隔离 · 已核验零残留