|
@@ -397,6 +397,12 @@ class FacialRecognitionController extends GetxController
|
|
|
int faceNum =
|
|
|
await doDetection(faceDetector, file.path); // max 分辨率下检测用时大约 100ms
|
|
|
|
|
|
+ if (doFacialRecognitionTimes >= 10) {
|
|
|
+ // 手动取消,中途跳出循环
|
|
|
+ state.isRunningFaceRecognition = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (faceNum == 0) {
|
|
|
PromptBox.toast('请将面部保持在识别框内');
|
|
|
await Future.delayed(const Duration(seconds: 2));
|
|
@@ -428,8 +434,15 @@ class FacialRecognitionController extends GetxController
|
|
|
),
|
|
|
);
|
|
|
state.processingImageLocalPath = '';
|
|
|
+ if (doFacialRecognitionTimes >= 10) {
|
|
|
+ // 手动取消,中途跳出循环
|
|
|
+ state.isRunningFaceRecognition = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
if (result.faceScanErrorType == FaceScanErrorTypeEnum.Success) {
|
|
|
finishFaceDetection(result);
|
|
|
+ // 阻断循环
|
|
|
+ doFacialRecognitionTimes = 10;
|
|
|
} else if (result.faceScanErrorType ==
|
|
|
FaceScanErrorTypeEnum.NoCreated) {
|
|
|
/// 如果返回结果告知不在档,则快进到失败十次提示重新建档
|
|
@@ -452,6 +465,12 @@ class FacialRecognitionController extends GetxController
|
|
|
state.processingImageLocalPath = '';
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (doFacialRecognitionTimes >= 10) {
|
|
|
+ // 手动取消,中途跳出循环
|
|
|
+ state.isRunningFaceRecognition = false;
|
|
|
+ return;
|
|
|
+ }
|
|
|
doFacialRecognition();
|
|
|
}
|
|
|
|
|
@@ -564,6 +583,12 @@ class FacialRecognitionController extends GetxController
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /// 取消采集
|
|
|
+ void doCancelCapture() {
|
|
|
+ doFacialRecognitionTimes = 10;
|
|
|
+ state.isRunningFaceRecognition = false;
|
|
|
+ }
|
|
|
+
|
|
|
/// 重新绑定并创建新档案
|
|
|
Future<bool> unbindAndCreateByFaceImageAsync(
|
|
|
String oldId, String newId, String url) async {
|