test(fe-walk): 发布 UI 两缺陷修复重走查闭环——创作者发布段 UI 通(HJ-FE-WALK-001)
修(29564c8)+全量构建+重部署+重走查实证,创作者发布段 UI 闭环打通:
- Bug A 实证修: project 9137 currentVersionId=93109(原 None),门禁⑤过
- Bug B 实证修: feed/zones 返 2 专区,发布页专区选择器 stillLoading=false 真渲染
- 发布闭环: 去发布→选专区(创作广场UGC)→提交发布→「✓已提交审核·进审核队列」截图实证,launchZoneId=2 落值
- 无回归: feed 既有已发布(9001 status=4)仍在; admin-api 200(M1 无回归); 四模板 banner
部署蒸馏: stale staging repo(b78a2cd)reset --hard origin/dev/2.0.0 取全量正确源(jar 备份兜底),
jar 字节码实证含两修。余审核台 approve→入 feed=admin 侧 surface。
落账: 总账链路②→🟢 创作者发布段 UI 通+审核台余项; §5 修复待办勾除; 报告 §五+成功截图入证据。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
29564c8eb7
commit
1e433c5b2d
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
@ -54,3 +54,27 @@
|
||||
- 总账:链路① → 🟢 UI 确认;链路② → 标注两缺陷(Bug A/B)阻断真人发布。
|
||||
- 两缺陷均后端改动(A=studio/aigc 生成回调;B=专区 seed 或 zones 查询)+ staging 重部署(授权部署窗口)。建议:先 A(一行回写,解锁 UI 发布主路)+ B(先查专区表定 seed/查询)→ 重部署 → 重走查(generate→publish→入 feed)闭合链路②。
|
||||
- 走查可复现:6c6g `python3 /tmp/walk_create.py`(需 9222 chrome + websocket-client;脚本一次性未入仓,配方见本报告头)。
|
||||
|
||||
---
|
||||
|
||||
## 五、修复与重走查闭环(2026-06-11 当日收口)
|
||||
|
||||
两缺陷已修 + 全量构建 + 重部署 + 重走查实证,创作者发布段 UI 闭环打通。
|
||||
|
||||
**修复(提交 `29564c8`,子代理 Opus 执行 + 主 agent 核验 + staging tenant.enable=false 实证)**:
|
||||
- **Bug A**:`GameVersionServiceImpl.createForPackage` 落包建版本后 `bindCurrentVersion(gameId, versionId)` 回写 `project.current_version_id`(幂等命中 + 新建两路径)。安全:feed/play 读 `game_feed_rank` 的 versionId、不读 currentVersionId,回写无副作用。
|
||||
- **Bug B**:`FeedServiceImpl.getZones()` 删 `Collections.emptyList()` 桩→直查 `game_zone`(新增只读 `GameZoneDO`(@TenantIgnore,对齐 system DictTypeDO 全局基础数据范式)+ `GameZoneMapper`,`type∈(1,2) ∧ status=1`、sort 升序→ZoneRespVO)。staging `yudao.tenant.enable=false`,tenant_id=0 种子专区可取。
|
||||
|
||||
**构建+部署(mini-desktop,授权窗口)**:stale staging repo(b78a2cd)`reset --hard origin/dev/2.0.0`(29564c8=四模板+M1+回包+本修+完整 application-staging)→ `mvn clean install -pl yudao-server -am` BUILD SUCCESS → fat jar 实证含两修(GameZoneMapper.class + bindCurrentVersion 字节码)→ 重启:health 200 / 四模板 banner / Flyway up-to-date 无新迁移 / **admin-api 200 无 M1 回归**。
|
||||
|
||||
**重走查实证(真 UI)**:
|
||||
| 验证点 | 结果 |
|
||||
|---|---|
|
||||
| Bug A 修 | project 9137 `currentVersionId=93109`(原 None);门禁⑤「存在可发布版本」过 |
|
||||
| Bug B 修 | `feed/zones` 返 2 专区(官方/创作广场UGC);发布页专区选择器 `stillLoading=false` 真渲染 |
|
||||
| 发布闭环 | 去发布→选专区(创作广场)→提交发布→**「✓ 已提交审核·进审核队列」**(`evidence/09-publish-success.png`),`launchZoneId=2` 落值 |
|
||||
| 无回归 | feed 既有已发布游戏(9001 status=4 等)仍在;admin-api 200 |
|
||||
|
||||
**结论**:链路②**创作者发布段** UI 闭环通(一句话→生成→预览→去发布→选专区→提交发布→进审核队列)。**余审核台 approve→入 feed = admin 侧 surface**(UI 发布后置 status=1 审核中,审核通过才入 feed)。
|
||||
|
||||
**操作蒸馏**:staging 构建源 `~/game-staging/repo` 是早期 stale 克隆(b78a2cd+本地补丁),本地补丁多与 origin 冗余(M1 修已提交进 origin)→ 直接 `reset --hard origin/dev/2.0.0` 取全量正确源最稳(jar 先备份兜底回滚);构建源/运行 jar 可能脱节(旧 jar 从更新 checkout 建后源回退),验证以 jar 字节码实证为准。
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
| # | 链路 | 状态 | 真实进度 |
|
||||
|---|---|---|---|
|
||||
| 1 | 创作 → 生成 → 预览试玩 | 🟢 | **前端 UI 实证全绿(2026-06-11 走查 HJ-FE-WALK-001)**:一句话→4 模板(clicker/merge/idle/tycoon)→开始生成→`studio/generate`→`/task`轮询(0%)→~18s→`/preview` canvas 500×700 可玩(《霓虹深空实验室》能量0/5),鉴权守卫/受控输入/异步轮询/自动转场/沙箱 runtime 逐项真实,0 error |
|
||||
| 2 | 发布 → 审核 → 游戏流 | 🟡 | publish+锁风门 curl 真实、审核状态机真实、feed 结构在;**前端发布走查逮 2 真后端缺陷(阻真人 UI 发布,编排器旁路掩盖;HJ-FE-WALK-001)**:A=生成成功未回写 `project.currentVersionId`(门禁⑤恒失败);B=`feed/zones` 返回空[](专区无可选→缺 launchZoneId)。两者均需后端修+重部署 |
|
||||
| 2 | 发布 → 审核 → 游戏流 | 🟢→🟡 | **创作者发布段 UI 已通(2026-06-11 HJ-FE-WALK-001 修+重走查闭环)**:去发布→选专区(创作广场UGC)→提交发布→「✓已提交审核·进审核队列」截图实证;**逮的 2 缺陷已修+重部署验证**(A `project.currentVersionId` 生成回写 GameVersionServiceImpl=9137 实证 currentVersionId=93109;B `feed/zones` 落实 getZones=返 2 专区、launchZoneId=2 实证;jar 含两修+四模板+M1+回包,admin-api 200 无回归)。**余审核→feed(admin 侧锁风门/审核台 approve)**:UI 发布后置「审核中」status=1,审核通过才入 feed=admin 台surface(未接) |
|
||||
| 3 | 游戏流 → 试玩 → 互动 → 分享 | 🟢 | **真人试玩闭环 e2e 真实(B2′)**:feed(真标题)→点卡→自研 Canvas clicker 真玩通关→game_play_start/end 真遥测→quality→**feed 重排(浏览器实证翻转)**;like/share 接真遥测;真实编译打包/分享落地页=桩 |
|
||||
| 4 | 广告展示 → 收益 → 钱包可见 | 🟡 | 骨架;**真实广告/pay=桩** |
|
||||
| 5 | 遥测 → 质量分 → 推荐优化(数据回路) | 🟢 | **数据回路 e2e 真实(B2)**:事件→quality_score→feed 重排(B超A)+重放幂等;MQ 异步化/真实试玩前端待补 |
|
||||
@ -104,7 +104,7 @@
|
||||
### 联调(把"模块编译通过"转成"可演示闭环"= Doc A P0 可验证的硬通货)
|
||||
- [x] **`deploy/smoke-test.sh` 五链路冒烟门(2026-06-11)** — API 级就绪门:只读 12/12 + `--deep` 13/13 全过(health/鉴权 + 链路①四模板就绪+draft + 链路②feed非空+zones+project/my + 链路③runtime/package取包 + 链路④ad/钱包/收益 + 链路⑤feed携qualityScore回灌 + deep:generate入队)。**5 条链路后端 API 全绿**,CORS/鉴权(test1 token)从前端 origin 验证通过。**实测 gotcha**:feed item 的 `packageUrl` 恒 null,真实取包走 `GET /app-api/runtime/package/{versionId}`(已写入脚本注释)。
|
||||
- [~] **game-studio 前端接 staging** — 配置已就绪 + 后端 5 链路 API 全绿(smoke 12/12);**创作链路 UI 走查已做(2026-06-11 HJ-FE-WALK-001,CDP harness 驱动 6c6g chrome 经 Tailscale 打 mini :4173)**:链路①创作→生成→预览 UI 全绿;**链路②发布 UI 逮 2 真后端缺陷**(A=`project.currentVersionId` 生成未回写;B=`feed/zones` 空)。**下一步=修 A/B(后端+重部署)→重走查闭合链路②发布**。game-admin 接 staging 走查未启动。
|
||||
- [ ] **修复发布 UI 两缺陷(HJ-FE-WALK-001)**:A=生成成功回调回写 `project.current_version_id`(studio/aigc,与版本创建同事务);B=查 staging 专区表→seed 默认 UGC 专区 或 修 `feed/zones` 查询条件。修后重部署 staging + 重走查 generate→publish→入 feed。
|
||||
- [x] **修复发布 UI 两缺陷(HJ-FE-WALK-001,2026-06-11 修+部署+重走查闭环)**:A=`GameVersionServiceImpl.createForPackage` 落包建版本后 `bindCurrentVersion` 回写 `current_version_id`(幂等+新建两路径);B=`FeedServiceImpl.getZones` 落实直查 `game_zone`(新增 `GameZoneDO`@TenantIgnore+`GameZoneMapper`,type∈(1,2)∧status=1;staging tenant.enable=false)。提交 `29564c8`;mini 全量构建 SUCCESS→重部署(四模板/M1/admin-api 200 无回归)→**重走查实证**:去发布→选专区→提交发布→「✓已提交审核」+ currentVersionId/launchZoneId 落值。**余审核台 approve→feed(admin 侧)**。
|
||||
|
||||
### 不可压缩日历闸门(人侧并行启动,非工程量;见记忆 mvp-binding-constraint-calendar-gates)
|
||||
- [~] ICP 备案 | 支付进件 | 广告联盟审核 | LLM 实名充值 | 短信签名报备 | 大模型登记/算法备案/分账选型 — **这些才是 MVP 上线的真正约束**。✅ 2026-06-10 看板已建:[`A1闸门看板.md`](./A1闸门看板.md)(12+1 项含 owner/最晚提交日/阻塞状态;主体已确认可用;律所咨询 brief 已备 [`律所合规咨询brief.md`](./律所合规咨询brief.md))——**剩创始人线下提交动作,本周四件见看板**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user