Kaynağa Gözat

补充SLS日志:websocket

Michael Wang 5 yıl önce
ebeveyn
işleme
0b16d4b1b3

+ 1 - 0
src/features/OnlineExam/Examing/ExamingEnd.vue

@@ -97,6 +97,7 @@ export default {
   },
   async mounted() {
     window._hmt.push(["_trackEvent", "考试结束页面", "进入页面"]);
+    this.logger({ page: "考试结束页面", action: "进入页面" });
     const examRecordDataId = this.$route.params.examRecordDataId;
     const examId = this.$route.params.examId;
 

+ 19 - 4
src/features/OnlineExam/Examing/ws.js

@@ -21,13 +21,18 @@ export function openWS({ examRecordDataId }) {
 
   ws.onopen = event => {
     console.log("open ws", event);
+    createLog({ type: "websocket", action: "连接成功" });
     reconnectNumber = 0;
 
     ws.onmessage = processWSMessage;
 
-    ws.onclose = () => {
-      console.log("ws close by server");
-      createLog({ type: "websocket", action: "ws close by server" });
+    ws.onclose = event => {
+      console.log("ws closed by server");
+      createLog({
+        type: "websocket",
+        action: "ws closed by server",
+        detail: JSON.stringify(event),
+      });
       for (const heartbeatId of heartbeatIds) {
         clearInterval(heartbeatId);
       }
@@ -70,7 +75,12 @@ export function openWS({ examRecordDataId }) {
     heartbeat();
   };
 
-  ws.onerror = () => {
+  ws.onerror = event => {
+    createLog({
+      type: "websocket",
+      action: "onerror",
+      error: JSON.stringify(event),
+    });
     setTimeout(() => {
       reconnectNumber++;
       if (reconnectNumber >= 5) {
@@ -82,6 +92,11 @@ export function openWS({ examRecordDataId }) {
             duration: 5,
             closable: true,
           });
+          createLog({
+            type: "websocket",
+            action: "Websocket重连失败",
+            detail: "onerror",
+          });
         } else {
           shouldReconnect = false;
         }