Bläddra i källkod

fix(Student): 添加错误处理中的用户提示信息

在作业提交处理流程中,为关键错误点添加用户可见的错误提示信息,包括iframe元素获取失败、截图工具失败等情况,提升用户体验
lsc 1 månad sedan
förälder
incheckning
da02d44878
1 ändrade filer med 6 tillägg och 1 borttagningar
  1. 6 1
      src/views/Student/index.vue

+ 6 - 1
src/views/Student/index.vue

@@ -1871,6 +1871,7 @@ const handleHomeworkSubmit = async () => {
             iframeElement = screenSlides[slideIndex.value].querySelector('iframe') as HTMLIFrameElement
           }
           else {
+            message.error('未能获取到iframe元素,无法截图')
             throw new Error('未能获取到iframe元素,无法截图')
           }
 
@@ -1898,6 +1899,7 @@ const handleHomeworkSubmit = async () => {
             iframeBody = iframeElement.contentWindow.document.body as HTMLElement
           }
           else {
+            message.error('未能获取到iframe的body元素,无法截图')
             throw new Error('未能获取到iframe的body元素,无法截图')
           }
 
@@ -1931,6 +1933,7 @@ const handleHomeworkSubmit = async () => {
           }
           catch (html2canvasError) {
             console.log('html2canvas失败,尝试html-to-image:', html2canvasError)
+            message.error('html2canvas失败,尝试html-to-image:' + html2canvasError)
             
             try {
               // 回退到html-to-image
@@ -1949,6 +1952,7 @@ const handleHomeworkSubmit = async () => {
             }
             catch (htmlToImageError) {
               console.log('html-to-image也失败了,使用canvas绘制方案:', htmlToImageError)
+              message.error('to-image也失败了,使用canvas绘制方案:' + htmlToImageError)
               message.error(lang.ssShotFail)
               return
               /*
@@ -2054,6 +2058,7 @@ const handleHomeworkSubmit = async () => {
           })
         }
         catch (error) {
+          message.error('截图提交失败:' + error)
           console.error('截图提交失败:', error)
           isSubmitting.value = false
           message.error(lang.ssShotFail)
@@ -3716,7 +3721,7 @@ const startSocketCheckTimer = () => {
       if (isConnected !== 1) {
         console.log('🔍 定时器检查发现 socket 未连接,执行重连')
         createWebSocketConnection(2)
-  }
+      }
     }
   }, 10000) as unknown as NodeJS.Timeout
 }