|
@@ -41,9 +41,11 @@ const data = reactive<any>({
|
|
|
direction: "",//动画方向
|
|
|
parameter: {},//参数
|
|
|
deviceInfo: {},//设备信息
|
|
|
+ again: false,//是否再次启动
|
|
|
+ againNum: 0,//再次启动次数
|
|
|
});
|
|
|
|
|
|
-const { faceCheckStu, faceState, direction, parameter, deviceInfo } = toRefs(data);
|
|
|
+const { faceCheckStu, faceState, direction, parameter, deviceInfo, again, againNum } = toRefs(data);
|
|
|
|
|
|
onBeforeMount(() => {
|
|
|
})
|
|
@@ -79,11 +81,24 @@ const getInit = async () => {
|
|
|
if (e?.code == 0) {
|
|
|
//查看人脸识别状态,如果不处于关闭就先关闭再重新启动(可能会APP退出然后工作站还在运行的可能性)
|
|
|
getFaceState(handcontroller_id);
|
|
|
- } else if (e.code == 102402) {
|
|
|
- getCloseFace()
|
|
|
- proxy?.$modal.msgError(`人脸识别模块被占用,请重试`);
|
|
|
} else {
|
|
|
- proxy?.$modal.msgError(`人脸识别模块不可用,code:${e.code}`);
|
|
|
+ let msg = "";
|
|
|
+ if (e.code == 102402) {
|
|
|
+ //msg = `人脸识别模块被占用,即将重新启动`;
|
|
|
+ //proxy?.$modal.msgWarning(msg);
|
|
|
+ //只能重启两次以免循环
|
|
|
+ if (againNum.value <= 2) {
|
|
|
+ again.value = true;
|
|
|
+ } else {
|
|
|
+ proxy?.$modal.msgError(`多次启动失败,请联系管理员`);
|
|
|
+ again.value = false;
|
|
|
+ againNum.value = 0;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ msg = `人脸识别模块不可用,code:${e.code}`;
|
|
|
+ proxy?.$modal.msgWarning(msg);
|
|
|
+ }
|
|
|
+ getCloseFace();
|
|
|
}
|
|
|
}
|
|
|
if (e?.cmd == 'get_facecontroller_state') {
|
|
@@ -106,7 +121,20 @@ const getInit = async () => {
|
|
|
let pic = e.data.student_icon;
|
|
|
let obj = { id, name, pic }
|
|
|
faceCheckStu.value = obj;
|
|
|
- router.push({ path: '/score', query: obj });
|
|
|
+ setTimeout(() => {
|
|
|
+ router.push({ path: '/score', query: obj });
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (e?.cmd == 'terminate_facecontroller') {
|
|
|
+ if (e?.code == 0) {
|
|
|
+ //自动重新启动人脸识别
|
|
|
+ if (again.value) {
|
|
|
+ getInit();
|
|
|
+ againNum.value++;
|
|
|
+ }
|
|
|
+ again.value = false;
|
|
|
+ faceState.value = false;
|
|
|
}
|
|
|
}
|
|
|
});
|