diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index 529f4d53c..87f4bb7cf 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -3179,7 +3179,13 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF hasContent = true; break; } - if ((part.type === 'file' || part.type === 'image') && part.url) { + const fileUrl = + typeof part?.url === "string" && part.url.trim() + ? part.url + : typeof part?.data === "string" && part.data.trim() + ? part.data + : ""; + if ((part.type === 'file' || part.type === 'image') && fileUrl) { hasContent = true; break; } @@ -3249,50 +3255,80 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF // 🆕 用户消息:使用图片标签样式(类似竞品,按 parts 原始顺序渲染)