From bacafd66dca9b3e0d40918cdfcde261895e14496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8F=B2=E6=82=A6?= Date: Fri, 24 Oct 2025 18:52:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B0=94=E6=B3=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + js/app.js | 31 ++++++++++++++++++++----------- 2 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3f72a72 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +AGENTS.md diff --git a/js/app.js b/js/app.js index 06f151a..569ece4 100644 --- a/js/app.js +++ b/js/app.js @@ -338,14 +338,15 @@ class ProductCanvasApp { } // 创建流式消息容器 - createStreamingMessageContainer(messageId) { - const messageDiv = document.createElement('div'); - messageDiv.className = 'flex justify-start'; - messageDiv.innerHTML = ` -
-
-
- `; + createStreamingMessageContainer(messageId) { + const messageDiv = document.createElement('div'); + messageDiv.className = 'flex justify-start'; + messageDiv.dataset.messageId = messageId; + messageDiv.innerHTML = ` +
+
+
+ `; return messageDiv; } @@ -415,8 +416,16 @@ class ProductCanvasApp { // 完成流式消息 finalizeStreamingMessage(messageId, fullContent, svgId = null, beforeText = '') { - const container = document.querySelector(`[data-message-id="${messageId}"]`); - if (!container) return; + let container = document.querySelector(`.chat-bubble-ai[data-message-id="${messageId}"]`); + if (!container) { + const fallback = document.querySelector(`[data-message-id="${messageId}"]`); + if (fallback) { + container = fallback.classList.contains('chat-bubble-ai') + ? fallback + : fallback.querySelector('.chat-bubble-ai'); + } + } + if (!container) return; const message = { id: messageId, @@ -982,4 +991,4 @@ class ProductCanvasApp { // 页面加载完成后初始化应用 document.addEventListener('DOMContentLoaded', () => { window.app = new ProductCanvasApp(); -}); \ No newline at end of file +});