重启校验 E2E 恢复封面前查回当前 coverObjectKey

- 旧 STATE_FILE 只有 coverAssetId(素材对象 ID,不是对象存储 key),恢复续跑时先查游戏当前封面 key,不再拿它冒充 coverObjectKey
This commit is contained in:
2026-10-07 14:09:16 +08:00
parent 28be35239e
commit 11c8c2789a
@@ -408,11 +408,17 @@ async function runResume() {
Buffer.from('PK\x03\x04broken', 'binary'),
randomBytes(1024),
]);
// 兼容旧版脚本写下的 STATE_FILE:当时只存 coverAssetId,直接读 coverObjectKey 会得到
// undefined 并被 JSON.stringify 丢掉,v3 就会没有封面。
// 兼容旧版脚本写下的 STATE_FILE:当时只存 coverAssetId(旧素材对象 ID,不是对象存储 key)。
// 建版沿用封面要求等于游戏当前的 cover_object_key,所以恢复时先查回真实 key,绝不能拿
// coverAssetId 冒充;v1 在写 STATE_FILE 前已审核通过,公开详情能返回当前封面。
const current = state.coverObjectKey
? null
: await api(`/api/game-distribution/games/${state.gameId}`, {
token: author,
});
const metadata = gameMetadata(
state.title,
state.coverObjectKey ?? state.coverAssetId,
state.coverObjectKey ?? current?.data?.coverObjectKey,
);
const v3 = await api(
`/api/game-distribution/games/${state.gameId}/versions`,