【优化】AI 聊天卡顿问题
parent
d8dcc911b5
commit
959731609f
|
@ -259,9 +259,6 @@ const doSend = async (content: string) => {
|
||||||
conversationId: activeConversationId.value,
|
conversationId: activeConversationId.value,
|
||||||
content: content
|
content: content
|
||||||
} as ChatMessageVO
|
} as ChatMessageVO
|
||||||
// list.value.push(userMessage)
|
|
||||||
// 滚动到住下面
|
|
||||||
// await scrollToBottom()
|
|
||||||
// stream
|
// stream
|
||||||
await doSendStream(userMessage)
|
await doSendStream(userMessage)
|
||||||
}
|
}
|
||||||
|
@ -274,6 +271,21 @@ const doSendStream = async (userMessage: ChatMessageVO) => {
|
||||||
// 设置为空
|
// 设置为空
|
||||||
fullText.value = ''
|
fullText.value = ''
|
||||||
try {
|
try {
|
||||||
|
// 先添加两个假数据,等 stream 返回再替换
|
||||||
|
list.value.push({
|
||||||
|
id: -1,
|
||||||
|
conversationId: activeConversationId.value,
|
||||||
|
type: 'user',
|
||||||
|
content: userMessage.content,
|
||||||
|
createTime: new Date()
|
||||||
|
} as ChatMessageVO)
|
||||||
|
list.value.push({
|
||||||
|
id: -2,
|
||||||
|
conversationId: activeConversationId.value,
|
||||||
|
type: 'system',
|
||||||
|
content: '思考中...',
|
||||||
|
createTime: new Date()
|
||||||
|
} as ChatMessageVO)
|
||||||
// 开始滚动
|
// 开始滚动
|
||||||
textRoll()
|
textRoll()
|
||||||
// 发送 event stream
|
// 发送 event stream
|
||||||
|
@ -291,20 +303,20 @@ const doSendStream = async (userMessage: ChatMessageVO) => {
|
||||||
conversationInProgress.value = false
|
conversationInProgress.value = false
|
||||||
// 结束 stream 对话
|
// 结束 stream 对话
|
||||||
conversationInAbortController.value.abort()
|
conversationInAbortController.value.abort()
|
||||||
|
return
|
||||||
}
|
}
|
||||||
// 首次返回需要添加一个 message 到页面,后面的都是更新
|
// 首次返回需要添加一个 message 到页面,后面的都是更新
|
||||||
if (isFirstMessage) {
|
if (isFirstMessage) {
|
||||||
isFirstMessage = false
|
isFirstMessage = false
|
||||||
// debugger
|
// 弹出两个 假数据
|
||||||
|
list.value.pop()
|
||||||
|
list.value.pop()
|
||||||
|
// 更新返回的数据
|
||||||
list.value.push(data.send)
|
list.value.push(data.send)
|
||||||
list.value.push(data.receive)
|
list.value.push(data.receive)
|
||||||
} else {
|
|
||||||
// debugger
|
|
||||||
fullText.value = fullText.value + data.receive.content
|
|
||||||
// const lastMessage = list.value[list.value.length - 1]
|
|
||||||
// lastMessage.content = content
|
|
||||||
// list.value[list.value - 1] = lastMessage
|
|
||||||
}
|
}
|
||||||
|
// debugger
|
||||||
|
fullText.value = fullText.value + data.receive.content
|
||||||
// 滚动到最下面
|
// 滚动到最下面
|
||||||
await scrollToBottom()
|
await scrollToBottom()
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue