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:
zizi 2026-06-11 06:12:40 +00:00
parent 29564c8eb7
commit 1e433c5b2d
3 changed files with 26 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -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 repob78a2cd`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 字节码实证为准。

View File

@ -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=93109B `feed/zones` 落实 getZones=返 2 专区、launchZoneId=2 实证jar 含两修+四模板+M1+回包admin-api 200 无回归)。**余审核→feedadmin 侧锁风门/审核台 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-001CDP 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-0012026-06-11 修+部署+重走查闭环)**A=`GameVersionServiceImpl.createForPackage` 落包建版本后 `bindCurrentVersion` 回写 `current_version_id`(幂等+新建两路径B=`FeedServiceImpl.getZones` 落实直查 `game_zone`(新增 `GameZoneDO`@TenantIgnore+`GameZoneMapper`type∈(1,2)∧status=1staging tenant.enable=false。提交 `29564c8`mini 全量构建 SUCCESS→重部署四模板/M1/admin-api 200 无回归)→**重走查实证**:去发布→选专区→提交发布→「✓已提交审核」+ currentVersionId/launchZoneId 落值。**余审核台 approve→feedadmin 侧)**
### 不可压缩日历闸门(人侧并行启动,非工程量;见记忆 mvp-binding-constraint-calendar-gates
- [~] ICP 备案 支付进件 广告联盟审核 LLM 实名充值 短信签名报备 大模型登记/算法备案/分账选型 — **这些才是 MVP 上线的真正约束**。✅ 2026-06-10 看板已建:[`A1闸门看板.md`](./A1闸门看板.md)12+1 项含 owner/最晚提交日/阻塞状态;主体已确认可用;律所咨询 brief 已备 [`律所合规咨询brief.md`](./律所合规咨询brief.md))——**剩创始人线下提交动作,本周四件见看板**