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