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

feat:完善AI服务超时提示

白白 1 год назад
Родитель
Сommit
6276a7c494

+ 12 - 7
src/components/AIChatter/AIChatter.vue

@@ -231,13 +231,14 @@
   // 发送问题
   const handleSendQuestion = () => {
     // 触发行为记录
-    emitter.emit("click-ai-send-button", {
-      date: Date.now(),
-      userId: store.user.id,
-      info: `第${AICount.value+1}次点击了AI提问按钮`,
-      eventId: `${store.user.id}_${Date.now()}`,
-      type: "AIChatter"
-    })
+    // emitter.emit("click-ai-send-button", {
+    //   date: Date.now(),
+    //   userId: store.user.id,
+    //   info: `第${AICount.value+1}次点击了AI提问按钮`,
+    //   eventId: `${store.user.id}_${Date.now()}`,
+    //   type: "AIChatter"
+    // })
+    //限制会话次数
     if(AICount.value<10){
       AICount.value++
     } else {
@@ -288,6 +289,10 @@
     let AssistantNum = 0
     //统计
     for(let message of data.messages){
+      if(message == null){
+        ElMessage.error("AI请求超时")
+        return
+      }
       if(message.role == "user"){
         userNum++
       } else {

+ 8 - 4
src/views/Home/component/Dictionaries/index.vue

@@ -23,7 +23,6 @@
           </el-button>
         </template>
       </el-input>
-      <!--TODO 字典展示-->
       <div style="white-space: pre-wrap;">{{ res }}</div>
     </div>
   </div>
@@ -36,6 +35,7 @@
   import LanguageIcon from "@/components/languageIcon/languageIcon.vue";
   import {Search} from '@element-plus/icons-vue';
   import type {IDialogue} from "@/types/dialogue";
+  import {ElMessage} from "element-plus";
 
   const apis = useApis()
   const store = useStore()
@@ -104,9 +104,13 @@
 
     apis.requestAI("6718dffaee5b2137080707f5", "ChatGLM4", requestBody)
         .then((_res:any) => {
-          let translation = _res.data.data.content;
-          console.log(translation)
-          res.value = translation
+          if(_res.data.code == 500){
+            ElMessage.error("翻译请求超时")
+          } else {
+            let translation = _res.data.data.content;
+            console.log(translation)
+            res.value = translation
+          }
         })
         .catch((_err:any) => {
           console.log(_err);

+ 6 - 1
src/views/Home/component/Silder/index.vue

@@ -65,6 +65,7 @@ import {defineProps, onMounted, reactive, ref, watch, watchEffect} from 'vue'
   import ExpandableParagraph from "@/views/Home/component/Silder/component/ExpandableParagraph.vue";
 import ViewsWordEditor from "@/components/ViewsWordEditor/ViewsWordEditor.vue";
 import {useRoute} from "vue-router";
+import {ElMessage} from "element-plus";
 
   interface ISliderProps {
     dialogueId: string;
@@ -127,7 +128,11 @@ import {useRoute} from "vue-router";
     loading.value = true;
     apis.rewrite(assignmentId, store.user.id)
         .then((res: any) => {
-          aiRemark.value = res.data.data.content;
+          if(res.data.code == 500){
+            ElMessage.error("智能批改请求超时")
+          }else {
+            aiRemark.value = res.data.data.content;
+          }
         })
         .catch((err: any) => {
           console.error(err);