From 5e1ed9ecc51bc4a166c2d70ba4557b22afa7fccf Mon Sep 17 00:00:00 2001 From: CI Bot Date: Thu, 16 Jul 2026 00:00:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20createGenerationTask=20=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=80=BC=E5=8F=96=20items[0]=EF=BC=8CID=20=E5=89=8D?= =?UTF-8?q?=E7=BC=80=E9=80=BB=E8=BE=91=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - createGenerationTask 返回 BatchGenerationTaskResponse {items, total}, 之前错误地直接用 res.id(undefined),改为 res.items[0].id - 后端返回裸 UUID,任务中心 getTask 需要 generation: 前缀, 创建后补前缀再查询;轮询/重试直接用 genTask.id(已带前缀) - 新增空数组保护,无任务时抛出明确错误 --- apps/web/src/api/tasks.ts | 15 ++++++++++++--- .../src/pages/editing-planner/EditingPlanner.tsx | 15 ++++++++++----- 2 files changed, 22 insertions(+), 8 deletions(-) mode change 100644 => 100755 apps/web/src/api/tasks.ts diff --git a/apps/web/src/api/tasks.ts b/apps/web/src/api/tasks.ts old mode 100644 new mode 100755 index 4e80832f5..5853236ca --- a/apps/web/src/api/tasks.ts +++ b/apps/web/src/api/tasks.ts @@ -35,7 +35,7 @@ export interface CreateGenerationTaskRequest { } /** 创建生成任务响应(对齐后端 GenerationTaskResponse) */ -export interface CreateGenerationTaskResponse { +export interface GenerationTaskItem { id: string; project_id: string; asset_library_id: string; @@ -51,13 +51,22 @@ export interface CreateGenerationTaskResponse { error_message: string; } +/** 批量创建响应(对齐后端 BatchGenerationTaskResponse) */ +export interface BatchGenerationTaskResponse { + items: GenerationTaskItem[]; + total: number; +} + +/** @deprecated 请使用 GenerationTaskItem */ +export type CreateGenerationTaskResponse = GenerationTaskItem; + /* ──────────── API 函数 ──────────── */ /** 创建生成任务(一键生成) */ export const createGenerationTask = async ( params: CreateGenerationTaskRequest, -): Promise => { - const { data } = await apiClient.post( +): Promise => { + const { data } = await apiClient.post( "/generation/tasks", params, ); diff --git a/apps/web/src/pages/editing-planner/EditingPlanner.tsx b/apps/web/src/pages/editing-planner/EditingPlanner.tsx index bbe851c79..cdce1e9f3 100755 --- a/apps/web/src/pages/editing-planner/EditingPlanner.tsx +++ b/apps/web/src/pages/editing-planner/EditingPlanner.tsx @@ -506,12 +506,17 @@ const EditingPlanner: React.FC = () => { voice_ids: voiceIds, }); /* - * 后端 Tasks API 使用带前缀的 ID(如 generation:xxx), - * 但 createGenerationTask 返回的是裸 UUID,需补上前缀。 + * createGenerationTask 返回批量响应 {items, total}, + * 取第一个任务的 ID。后端返回裸 UUID, + * 但任务中心 API(getTask)使用带前缀的 ID(generation:xxx), + * 需补前缀后再查询。 */ - const taskId = res.id.includes(":") - ? res.id - : `generation:${res.id}`; + const firstTask = res.items?.[0]; + if (!firstTask) { + throw new Error("创建生成任务失败:无返回任务"); + } + const rawId = firstTask.id; + const taskId = rawId.includes(":") ? rawId : `generation:${rawId}`; /* 创建接口返回的是精简响应,需查询完整 TaskItem 用于轮询 */ const task = await getTask(taskId); setGenTask(task);