feat: complete bark battle draft publish flow

This commit is contained in:
2026-05-19 15:27:50 +08:00
parent 804f1e32be
commit 23fb895e82
24 changed files with 1710 additions and 159 deletions

View File

@@ -124,7 +124,26 @@
- 后端裁决结果:后端根据 start run 与 finish 派生指标校验后的正式单局结果。
- 排行榜分榜:按 `workId + difficultyPreset + rulesetVersion` 拆分,只收录后端裁决玩家胜利的成绩。
当前入口状态为 `visible=true``open=false`,创作 Tab 展示为“敬请期待”,不进入轻配置表单或 runtime。后续重新开放时仍沿用创作 Tab 内嵌轻配置表单,不再切到独立 `bark-battle-config` 阶段runtime 退出后回到创作页并恢复汪汪声浪模板选中态。
当前入口沿用创作 Tab 内嵌轻配置表单,不再切到独立 `bark-battle-config` 阶段配置提交后先进入草稿结果页再由结果页执行资源预览、手动上传替换、重新生成、试玩和发布。runtime 从草稿试玩返回草稿结果页,从入口回退时恢复汪汪声浪模板选中态。
创作流程为:
- 创作 Tab 表单:填写作品标题、简介、主题、玩家角色设定、对手角色设定、难度和资源源。
- 草稿编译:`POST /api/creation/bark-battle/drafts` 写入配置 JSON返回包含 `draftId`、稳定 `workId``configVersion``rulesetVersion` 的草稿结果。
- 资源预览草稿结果页展示玩家形象、对手形象、UI 背景和狗叫音效槽位。
- 手动上传:结果页通过平台资产直传 `/api/assets/direct-upload-tickets``/api/assets/objects/confirm` 写入私有资产,再把返回的历史 generated 路径写回草稿配置。
- 重新生成:玩家形象、对手形象和 UI 背景先复用现有图片生成链路;狗叫音效暂不假装自动生成,未接专用音频生成时走手动上传。
- 试玩:在发布前使用草稿配置启动本地 runtime 预览,不写正式发布记录。
- 发布:结果页确认后必须携带草稿返回的同一个 `workId` 调用 `POST /api/creation/bark-battle/works/publish`,发布成功后进入 runtime缺少 `workId` 的旧草稿状态需要重新生成草稿。
支持的创作者可替换内容:
- 基础信息:作品标题、简介、主题背景、玩家角色设定、对手角色设定和难度。
- 角色形象:可分别替换玩家与对手角色图片;未配置图片时继续使用狗狗预设兜底。
- UI 视觉:可替换运行态主背景图;未配置图片时继续使用主题背景兜底。
- 狗叫音效:可替换局内触发叫声的音频资源;未配置音频时不强制播放自定义音效。
这些替换槽位写入 Bark Battle 配置 JSON发布后由 runtime 读取;计分阈值、对局时长、反作弊校验和后端裁决仍由规则集与后端控制,不能通过前端替换项改变。排行榜相关后端字段暂保留兼容,但创作 UI 不再展示排行榜开关。
## 方洞挑战