From ad887ced640bb15e8e9d12fe08f75193ae41524b Mon Sep 17 00:00:00 2001 From: huangzhe Date: Thu, 31 Jul 2025 16:52:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E5=BC=82=E5=B8=B8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/AI-new/components/chat-new.vue | 22 +++++++++++----------- src/views/AI-new/components/message.vue | 11 +++++++---- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/views/AI-new/components/chat-new.vue b/src/views/AI-new/components/chat-new.vue index cd7024e..2970af8 100644 --- a/src/views/AI-new/components/chat-new.vue +++ b/src/views/AI-new/components/chat-new.vue @@ -269,7 +269,7 @@ export default { const reader = response.body.getReader() let buffer = '' while (true) { - try { + // try { const { done, value } = await reader.read() if (done) break buffer += new TextDecoder().decode(value) @@ -279,10 +279,10 @@ export default { if (parsed) this.updateMessageContent(parsed, requestIndex) }) buffer = lines[lines.length - 1] || '' - } catch (error) { - console.error('读取流数据时发生错误:', error) - break - } + // } catch (error) { + // console.error('读取流数据时发生错误:', error) + // break + // } } }, parseStreamLine(line) { @@ -368,15 +368,15 @@ export default { // 取出一个完整文本块 const chunk = this.typingQueue.shift() - if (chunk.message_id !== this.currentMessageID) { - console.log('message_id !== this.currentMessageID'); - typeNextChar() - return - } + // if (chunk.message_id !== this.currentMessageID) { + // console.log('message_id !== this.currentMessageID'); + // typeNextChar() + // return + // } // console.log(this.messages); const chars = Array.from(chunk.answer) - + const isThink = chunk.isThink // 内部递归函数,用于逐字输出当前块 const outputChar = () => { diff --git a/src/views/AI-new/components/message.vue b/src/views/AI-new/components/message.vue index 1166cf2..1a33ae3 100644 --- a/src/views/AI-new/components/message.vue +++ b/src/views/AI-new/components/message.vue @@ -20,9 +20,9 @@

- - {{ filterVisible(message) }} - +

@@ -92,7 +92,7 @@ export default { let text = message.text.trim() // 如果开头是中文,直接返回 if (new RegExp('^[\u4e00-\u9fa5]+', 'g').test(text)) return text - + text = text.replace(/([^<]*)(?:<\/information>)?/g, '').trim() text = text.replace(/([^<]*)(?:<\/is_complete>)?/g, '').trim() @@ -102,6 +102,9 @@ export default { text = text.replace(/^<\w+>/g, '').trim() text = text.replace(/^\w+/, "").trim() text = text.replace(/<\/?([\w\s='"]+)?(?!>)$/gi, '').trim() + // console.log(`text`, text[text.length - 1]); + console.log(`kjlasf dsadfjkls`, text[text.length - 1]); + return text }, showThink(message) {