Просмотр исходного кода

AI生成课数字人问答异常加入提示并重置

liyanbo 3 месяцев назад
Родитель
Сommit
7198243842
1 измененных файлов с 14 добавлено и 1 удалено
  1. 14 1
      src/views/AIPage/aiGenerate/DialogContent.vue

+ 14 - 1
src/views/AIPage/aiGenerate/DialogContent.vue

@@ -114,6 +114,7 @@ import VoiceInput from '@/components/ai/voice/VoiceInput.vue'
 import { marked } from 'marked'
 import {CreateDialogue, sendChatMessageStream} from "@/api/questions.js";
 import {useAudioPlayer} from "@/api/tts/useAudioPlayer.js";
+import {Message} from "@/utils/message/Message.js";
 
 const { playAudioChunk , stopPlayback, setOnPlaybackComplete  } = useAudioPlayer();
 
@@ -594,7 +595,16 @@ const showQuestAnswerDialogue = () => {
 
 }
 
+//延时恢复对话,避免立即回复导致对话内容被覆盖
+const delayRecoverQuestDialogue = () => {
+  // Message().error('当前网络无反应,请稍后重试!', true);
+  // 设置默认内容为"让我思考一下..."
+  currentDialogue.value.content = "当前网络无反应,请稍后重试!"
 
+  setTimeout(() => {
+    recoverQuestDialogue()
+  }, 1500)
+}
 
 /** 回复对话 */
 const recoverQuestDialogue = () => {
@@ -626,7 +636,7 @@ const doSendMessageStream = async userMessage => {
     // 发送 event stream
     let isFirstChunk = true // 是否是第一个 chunk 消息段
     await sendChatMessageStream(
-        userMessage.conversationId,
+        userMessage.conversationId+22222,
         userMessage.content,
         userMessage.contentAnswer,
         conversationInAbortController.value,
@@ -664,6 +674,8 @@ const doSendMessageStream = async userMessage => {
         error => {
           console.log(`对话异常! ${error}`)
           stopStream()
+
+          delayRecoverQuestDialogue()
           // 需要抛出异常,禁止重试
           throw error
         },
@@ -675,6 +687,7 @@ const doSendMessageStream = async userMessage => {
   } catch (error) {
     console.error('发送消息失败:', error)
     stopStream()
+    delayRecoverQuestDialogue()
   }
 }