mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-09-07 00:36:41 +08:00
feat: 优化错误处理逻辑,避免重复提示并改善用户体验
This commit is contained in:
@@ -462,8 +462,8 @@ function applyStreamEvent(event: AgentStreamEvent, assistantMessage: AgentChatMe
|
|||||||
break
|
break
|
||||||
case 'error':
|
case 'error':
|
||||||
assistantMessage.status = 'error'
|
assistantMessage.status = 'error'
|
||||||
streamError.value = event.message || t('agentAssistant.error')
|
// 后端流式错误已经以 AI 消息展示,避免底部提示条重复且持续占位。
|
||||||
if (!assistantMessage.content) assistantMessage.content = streamError.value
|
assistantMessage.content ||= event.message || t('agentAssistant.error')
|
||||||
markToolsDone(assistantMessage)
|
markToolsDone(assistantMessage)
|
||||||
break
|
break
|
||||||
case 'start':
|
case 'start':
|
||||||
@@ -715,7 +715,6 @@ async function streamAgentMessage(
|
|||||||
|
|
||||||
assistantMessage.status = 'error'
|
assistantMessage.status = 'error'
|
||||||
assistantMessage.content = error?.message || t('agentAssistant.error')
|
assistantMessage.content = error?.message || t('agentAssistant.error')
|
||||||
streamError.value = assistantMessage.content
|
|
||||||
markToolsDone(assistantMessage)
|
markToolsDone(assistantMessage)
|
||||||
refreshMessageList()
|
refreshMessageList()
|
||||||
} finally {
|
} finally {
|
||||||
@@ -740,8 +739,8 @@ async function sendMessage() {
|
|||||||
const prepared = await prepareAgentAttachments(attachments)
|
const prepared = await prepareAgentAttachments(attachments)
|
||||||
await streamAgentMessage(text, prepared.images, prepared.files, prepared.audioRefs, prepared.userAttachments)
|
await streamAgentMessage(text, prepared.images, prepared.files, prepared.audioRefs, prepared.userAttachments)
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
streamError.value = error?.message || t('agentAssistant.uploadFailed')
|
// 附件准备失败同样落到对话消息里,底部提示条只保留给没有消息承载的本地错误。
|
||||||
addMessage('assistant', streamError.value, 'error')
|
addMessage('assistant', error?.message || t('agentAssistant.uploadFailed'), 'error')
|
||||||
} finally {
|
} finally {
|
||||||
sending.value = false
|
sending.value = false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user