From 5af83567a424855e67dcaa79dac3059e8fade778 Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 10 Aug 2026 10:15:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=B0=81=E9=9D=A2=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=EF=BC=8C=E4=BF=AE=E5=A4=8D=E9=9D=99=E9=BB=98=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E9=97=AE=E9=A2=98=20(#1317)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/generate/hooks/useStep6Cover.ts | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/apps/web/src/pages/generate/hooks/useStep6Cover.ts b/apps/web/src/pages/generate/hooks/useStep6Cover.ts index 1b5f44ff6..60dd281bb 100644 --- a/apps/web/src/pages/generate/hooks/useStep6Cover.ts +++ b/apps/web/src/pages/generate/hooks/useStep6Cover.ts @@ -3,6 +3,7 @@ * 封装封面设置的交互逻辑,对接后端封面模板 CRUD API */ import { useCallback, useEffect, useRef, useState } from "react" +import { message } from "antd" import type { CoverConfig, CoverTemplate } from "../../editing-planner/types" import { generateCover } from "@/api/template-editor" import { @@ -66,7 +67,21 @@ export function useStep6Cover({ /** 调用后端智能封面 API,生成封面并更新预览 */ const generateAutoCover = useCallback(async () => { - if (!selectedTemplate || assetIds.length === 0 || generatingRef.current) return + if (generatingRef.current) { + message.warning("封面正在生成中,请稍候...") + return + } + + if (!selectedTemplate) { + message.error("请先选择模板") + return + } + + if (assetIds.length === 0) { + message.error("请先选择素材") + return + } + generatingRef.current = true try { const response = await generateCover(selectedTemplate, { @@ -80,9 +95,13 @@ export function useStep6Cover({ thumbnail_url: thumbnailUrl, ai_suggested_time: response.cover?.frame_time ?? null, }) + message.success("封面生成成功") + } else { + message.warning("封面生成未返回图片,请重试") } } catch (err) { console.warn("[Step6] 智能封面生成失败:", err) + message.error("封面生成失败,请稍后重试") } finally { generatingRef.current = false } -- 2.54.0