From e05233fb4f2b0bda9f47401e1e738039f5d2dae0 Mon Sep 17 00:00:00 2001 From: hubian <908234780@qq.com> Date: Mon, 13 Apr 2026 11:02:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dloading=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=E4=B8=8D=E5=8E=BB=E6=8E=89=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20-=20isRegenerating=E6=A0=87=E5=BF=97=E5=9C=A8user=5Fmessage?= =?UTF-8?q?=E6=97=B6=E8=A2=AB=E9=94=99=E8=AF=AF=E9=87=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/index.html | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/templates/index.html b/templates/index.html index 003823a..9ca1e14 100644 --- a/templates/index.html +++ b/templates/index.html @@ -264,14 +264,14 @@ if (!isRegenerating) { appendMessage('user', data.message.content); } - isRegenerating = false; // 重置标志 + // 注意:不要在这里重置 isRegenerating,要等 assistant_message 处理后再重置 break; case 'assistant_message': if (isRegenerating && regeneratingMessageId) { // 添加新版本到现有消息 addResponseVersion(regeneratingMessageId, data.message.content, data.message.thinking_content); - hideLoadingIndicator(regeneratingMessageId); regeneratingMessageId = null; + isRegenerating = false; // 在这里重置标志 } else { appendMessage('assistant', data.message.content, data.message.thinking_content, data.message.agent_name); } @@ -368,6 +368,9 @@ // 更新容器 const container = document.getElementById(`${messageId}_container`); if (container) { + // 先移除loading(如果有) + hideLoadingIndicator(messageId); + // 添加思考块(如果有) const messageBody = container.closest('.message-body'); if (thinking && messageBody) { @@ -386,7 +389,7 @@ messageBody.insertAdjacentHTML('afterbegin', thinkingHtml); } - // 隐藏所有旧版本,添加新版本 + // 隐藏所有旧版本,显示最新版本 container.querySelectorAll('.response-version').forEach(v => v.classList.remove('active')); const newVersionHtml = `
${marked.parse(content)}
@@ -401,7 +404,7 @@ if (copySource) copySource.value = content; } - // 显示版本切换控件 + // 显示版本切换控件并更新指示器 showVersionControls(messageId); } @@ -432,6 +435,14 @@ const versions = messageVersions[messageId]; if (controls && versions && versions.length > 1) { controls.style.display = 'flex'; + // 新生成的版本是最后一个,切换到最新版本 + const container = document.getElementById(`${messageId}_container`); + if (container) { + // 隐藏所有版本,显示最后一个 + container.querySelectorAll('.response-version').forEach(v => v.classList.remove('active')); + const lastVersion = container.querySelector(`.response-version[data-version="${versions.length - 1}"]`); + if (lastVersion) lastVersion.classList.add('active'); + } updateVersionIndicator(messageId); } }