林旭祥 hai 3 semanas
pai
achega
ff4cbf4bfc
Modificáronse 2 ficheiros con 26 adicións e 19 borrados
  1. 11 8
      src/components/OnlineFaceWindow/index.vue
  2. 15 11
      src/utils/faceWs.ts

+ 11 - 8
src/components/OnlineFaceWindow/index.vue

@@ -94,14 +94,17 @@ const getInit = async () => {
         openFace(handcontroller_id);
       }
     }
-    if (e?.data?.student_id) {
-      //返回人脸信息然后跳转
-      let id = e.data.student_id;
-      let name = e.data.student_name;
-      let pic = e.data.student_icon;
-      let obj = { id, name, pic }
-      faceCheckStu.value = obj;
-      router.push({ path: '/score', query: obj });
+    if (e?.type == 'facecontroller_result') {
+      if (e?.data?.student_id) {
+        getCloseFace();
+        //返回人脸信息然后跳转
+        let id = e.data.student_id;
+        let name = e.data.student_name;
+        let pic = e.data.student_icon;
+        let obj = { id, name, pic }
+        faceCheckStu.value = obj;
+        router.push({ path: '/score', query: obj });
+      }
     }
   });
 };

+ 15 - 11
src/utils/faceWs.ts

@@ -9,14 +9,14 @@ export function useWebSocket() {
 
   function faceWs(callback: any) {
     if (socketFace == null) {
-      socketFace = io(address + '/', {transports: ['websocket', 'polling'],query: {type: 'face',Authorization: token ? myToken : ''}});
+      socketFace = io(address + '/', { transports: ['websocket', 'polling'], query: { type: 'face', Authorization: token ? myToken : '' } });
     }
     socketFace.on('my_response', (e: any) => {
       callback(e);
     });
     socketFace.on('fe_device_init_result', (e: any) => {
       e.type = "fe_device_init_result";
-      if (e.device_info==undefined) {
+      if (e.device_info == undefined) {
         closeWS();
       }
       callback(e);
@@ -30,6 +30,10 @@ export function useWebSocket() {
       }
       callback(e);
     });
+    socketFace.on('facecontroller_result', (e: any) => {
+      e.type = "facecontroller_result";
+      callback(e);
+    });
     socketFace.on('disconnect', (e: any) => {
       callback(e);
     });
@@ -43,7 +47,7 @@ export function useWebSocket() {
       return false;
     }
     if (socketFace.connected) {
-      callback = callback || function () {};
+      callback = callback || function () { };
       socketFace.emit(type, data, callback);
     }
   }
@@ -57,7 +61,7 @@ export function useWebSocket() {
       {
         data: data
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -71,7 +75,7 @@ export function useWebSocket() {
         cmd: 'check_facecontroller_available',
         ctrl_name: `facecontroller_${data}`
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -85,7 +89,7 @@ export function useWebSocket() {
         cmd: 'open_facecontroller',
         ctrl_name: `facecontroller_${data}`
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -99,7 +103,7 @@ export function useWebSocket() {
         cmd: 'terminate_facecontroller',
         ctrl_name: `facecontroller_${data}`
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -113,7 +117,7 @@ export function useWebSocket() {
         cmd: 'suspend_facecontroller',
         ctrl_name: `facecontroller_${data}`
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -127,7 +131,7 @@ export function useWebSocket() {
         cmd: 'resume_facecontroller',
         ctrl_name: `facecontroller_${data}`
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -141,7 +145,7 @@ export function useWebSocket() {
         cmd: 'get_facecontroller_state',
         ctrl_name: `facecontroller_${data}`
       },
-      () => {}
+      () => { }
     );
   }
 
@@ -159,5 +163,5 @@ export function useWebSocket() {
     closeWS();
   });
 
-  return { faceWs,startDevice, sendMessage, checkFace, openFace, terminateFace, suspendFace, resumeFace, getFaceState };
+  return { faceWs, startDevice, sendMessage, checkFace, openFace, terminateFace, suspendFace, resumeFace, getFaceState };
 }