发布页媒体提交只合成一次
- buildPublishGameMetadata / buildPublishMediaParts 改为接收调用方算好的 submission,元数据槽位与上传 part 单一来源
This commit is contained in:
@@ -31,6 +31,7 @@ import {
|
||||
import {
|
||||
buildGamePublishMediaSubmission,
|
||||
type GamePublishImage,
|
||||
type GamePublishMediaSubmission,
|
||||
revokeGamePublishImagePreview,
|
||||
} from './gamePublishAssets';
|
||||
import { GamePublishClientGuide } from './GamePublishClientGuide';
|
||||
@@ -313,11 +314,10 @@ export function GamePublishPage({
|
||||
* 组装提交给服务端的资料 DTO。
|
||||
*
|
||||
* 媒体槽位只描述来源:本地新图写 `null`(由对应的二进制 part 补位),沿用线上图写 objectKey;
|
||||
* 原始字节另由 `buildPublishMediaParts` 作为 multipart part 提交。两者共用
|
||||
* `buildGamePublishMediaSubmission`,槽位映射与 part 组装不会各改各的。
|
||||
* 原始字节另由 `buildPublishMediaParts` 作为 multipart part 提交。两者消费调用方算好的
|
||||
* 同一个 `buildGamePublishMediaSubmission` 结果,槽位映射与 part 组装不会各改各的。
|
||||
*/
|
||||
function buildPublishGameMetadata() {
|
||||
const media = buildGamePublishMediaSubmission(coverImage, screenshotImages);
|
||||
function buildPublishGameMetadata(media: GamePublishMediaSubmission) {
|
||||
return {
|
||||
title: title.trim(),
|
||||
summary: summary.trim(),
|
||||
@@ -332,8 +332,8 @@ export function GamePublishPage({
|
||||
};
|
||||
}
|
||||
|
||||
function buildPublishMediaParts() {
|
||||
return buildGamePublishMediaSubmission(coverImage, screenshotImages).parts;
|
||||
function buildPublishMediaParts(media: GamePublishMediaSubmission) {
|
||||
return media.parts;
|
||||
}
|
||||
|
||||
/** 是否已有封面:本地新图或沿用线上图都算。 */
|
||||
@@ -431,8 +431,12 @@ export function GamePublishPage({
|
||||
try {
|
||||
const prepared = await prepareGamePackage(packageFile);
|
||||
const updateKey = resolvePublishKey();
|
||||
const gameMetadata = buildPublishGameMetadata();
|
||||
const media = buildPublishMediaParts();
|
||||
const submission = buildGamePublishMediaSubmission(
|
||||
coverImage,
|
||||
screenshotImages,
|
||||
);
|
||||
const gameMetadata = buildPublishGameMetadata(submission);
|
||||
const media = buildPublishMediaParts(submission);
|
||||
const version = await createGameVersion(
|
||||
updateContext.gameId,
|
||||
{
|
||||
@@ -511,8 +515,12 @@ export function GamePublishPage({
|
||||
setError('');
|
||||
try {
|
||||
const prepared = await prepareGamePackage(packageFile);
|
||||
const gameMetadata = buildPublishGameMetadata();
|
||||
const media = buildPublishMediaParts();
|
||||
const submission = buildGamePublishMediaSubmission(
|
||||
coverImage,
|
||||
screenshotImages,
|
||||
);
|
||||
const gameMetadata = buildPublishGameMetadata(submission);
|
||||
const media = buildPublishMediaParts(submission);
|
||||
const publishKey = resolvePublishKey();
|
||||
const game = await createGame(gameMetadata, `${publishKey}:game`, media);
|
||||
const version = await createGameVersion(
|
||||
|
||||
Reference in New Issue
Block a user