优化聊天加载问题
This commit is contained in:
@@ -718,6 +718,10 @@ export default {
|
||||
this.inputMessage = ''
|
||||
this.sending = true
|
||||
|
||||
// 定义超时变量
|
||||
let streamTimeout = null
|
||||
let noDataTimeout = null
|
||||
|
||||
// 添加到请求队列
|
||||
const requestId = Date.now()
|
||||
this.requestQueue.push(requestId)
|
||||
@@ -730,6 +734,9 @@ export default {
|
||||
messageId: 'user-' + Date.now()
|
||||
}
|
||||
this.messages.push(userMsg)
|
||||
|
||||
// 添加用户消息后立即滚动到底部
|
||||
this.scrollToBottom(false, true) // 立即滚动,强制执行
|
||||
|
||||
// 添加AI消息占位符
|
||||
const aiMsg = {
|
||||
@@ -743,7 +750,7 @@ export default {
|
||||
}
|
||||
this.messages.push(aiMsg)
|
||||
|
||||
this.scrollToBottom(true) // 添加消息后使用平滑滚动
|
||||
this.scrollToBottom(true, true) // 添加消息后使用平滑滚动,强制执行
|
||||
|
||||
try {
|
||||
// 创建流式聊天
|
||||
@@ -766,7 +773,7 @@ export default {
|
||||
})
|
||||
|
||||
// 添加额外的超时保护
|
||||
const streamTimeout = setTimeout(() => {
|
||||
streamTimeout = setTimeout(() => {
|
||||
if (cancel) {
|
||||
cancel('流式响应超时')
|
||||
}
|
||||
@@ -781,7 +788,6 @@ export default {
|
||||
const { reader, decoder } = response
|
||||
let buffer = ''
|
||||
let lastUpdateTime = Date.now()
|
||||
let noDataTimeout = null
|
||||
|
||||
while (true) {
|
||||
// 设置无数据超时检测
|
||||
@@ -907,7 +913,7 @@ export default {
|
||||
// 从监控系统中移除请求
|
||||
this.activeRequests.delete(requestId)
|
||||
|
||||
this.scrollToBottom(true) // 发送完成后使用平滑滚动
|
||||
this.scrollToBottom(true, true) // 发送完成后使用平滑滚动,强制执行
|
||||
}
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user