From 21b1ace52287641587fa314bbf8da785ce8db4eb Mon Sep 17 00:00:00 2001 From: hobby Date: Mon, 17 Feb 2025 22:37:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96markdown=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/ChatUI.tsx | 51 +++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/src/components/ChatUI.tsx b/src/components/ChatUI.tsx index 58626af..d68e62b 100644 --- a/src/components/ChatUI.tsx +++ b/src/components/ChatUI.tsx @@ -191,7 +191,23 @@ const ChatUI = () => { while (true) { const { done, value } = await reader.read(); - if (done) break; + if (done) { + //如果completeResponse为空, + if (completeResponse.trim() === "") { + completeResponse = "这个问题难倒我了,下一位。"; + setMessages(prev => { + const newMessages = [...prev]; + const aiMessageIndex = newMessages.findIndex(msg => msg.id === aiMessage.id); + if (aiMessageIndex !== -1) { + newMessages[aiMessageIndex] = { + ...newMessages[aiMessageIndex], + content: completeResponse + }; + } + return newMessages; + });} + break; + } buffer += decoder.decode(value, { stream: true }); @@ -216,13 +232,15 @@ const ChatUI = () => { } return newMessages; }); - } + } + } catch (e) { console.error('解析响应数据失败:', e); } } } } + // 将当前AI的回复添加到消息历史中,供下一个AI使用 messageHistory.push({ role: 'user', @@ -348,7 +366,7 @@ const ChatUI = () => {
- {messages.filter(message => message.content?.trim()).map((message) => ( + {messages.map((message) => (
{message.sender.name !== "我" && ( @@ -363,9 +381,26 @@ const ChatUI = () => {
- + {message.content} {message.isAI && isTyping && currentMessageRef.current === message.id && ( @@ -437,7 +472,7 @@ const ChatUI = () => { {user.name}
- {user.name !== "我" && ( + {/*user.name !== "我" && ( - )} + )*/}
))}