diff --git a/components/messages.tsx b/components/messages.tsx index 11f64b3..46dedcc 100644 --- a/components/messages.tsx +++ b/components/messages.tsx @@ -229,17 +229,21 @@ function PureMessages({ status, }); - if (hasImageContent) { - // 图片已生成,延迟后隐藏占位图 + // 🆕 关键修复:当 isGeneratingImageFlag 为 true 时,优先显示占位图 + // 因为这表示后端正在生成图片,即使检测到旧的图片内容也不应该隐藏占位图 + if (isGeneratingImageFlag) { + console.log("[Messages useEffect] isGeneratingImageFlag=true,强制显示占位图"); + setShowThinkingWithDelay(true); + } else if (hasImageContent && !isGeneratingImage) { + // 只有当 isGeneratingImageFlag 为 false 且有图片内容时,才考虑隐藏占位图 console.log("[Messages useEffect] 图片已生成,延迟后隐藏"); const timer = setTimeout(() => { setShowThinkingWithDelay(false); }, delayTime); return () => clearTimeout(timer); - } else if (isGeneratingImage || isGeneratingImageFlag) { - // 收到 GENERATING_IMAGE 标记(对话消息已发送),继续显示占位图等待图片 - // 使用 isGeneratingImageFlag 来解决消息延迟添加时标记检测不到的问题 - console.log("[Messages useEffect] 检测到生成标记,显示占位图"); + } else if (isGeneratingImage) { + // 消息中检测到 GENERATING_IMAGE 标记 + console.log("[Messages useEffect] 检测到消息中的生成标记,显示占位图"); setShowThinkingWithDelay(true); } else if (status === "streaming" || status === "submitted") { // 正在处理中(分析意图或流式传输),显示占位图