|
|
@ -28,6 +28,7 @@ public class LeaveVerificationManager { |
|
|
|
private Context context; |
|
|
|
private LeaveVerificationListener listener; |
|
|
|
private int currentVerificationType = TYPE_VERIFICATION_CODE; // 当前验证类型 |
|
|
|
private boolean isRequestInProgress = false; // 是否有请求正在进行中 |
|
|
|
|
|
|
|
/** |
|
|
|
* 离场校验监听器接口 |
|
|
@ -79,6 +80,14 @@ public class LeaveVerificationManager { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 检查是否有请求正在进行中 |
|
|
|
* @return true 如果有请求正在进行中,false 否则 |
|
|
|
*/ |
|
|
|
public boolean isRequestInProgress() { |
|
|
|
return isRequestInProgress; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 执行离场验证(统一入口) |
|
|
|
* @param verificationType 验证类型 |
|
|
|
* @param verifyCode 验证码或人脸base64数据 |
|
|
@ -87,6 +96,12 @@ public class LeaveVerificationManager { |
|
|
|
public void performVerification(int verificationType, String verifyCode, String decryptText) { |
|
|
|
LogManager.logInfo(TAG, "开始执行离场验证,类型: " + verificationType); |
|
|
|
|
|
|
|
// 检查是否已有请求正在进行中,避免重复请求 |
|
|
|
if (isRequestInProgress) { |
|
|
|
LogManager.logInfo(TAG, "已有正在进行的离场验证请求,跳过本次请求"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 保存当前验证类型 |
|
|
|
this.currentVerificationType = verificationType; |
|
|
|
|
|
|
@ -125,6 +140,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logInfo(TAG, "开始执行人脸离场校验"); |
|
|
|
Log.d(TAG, "performFaceLeaveVerification - faceBase64长度: " + (faceBase64 != null ? faceBase64.length() : 0)); |
|
|
|
|
|
|
|
// 设置请求进行中标志 |
|
|
|
isRequestInProgress = true; |
|
|
|
|
|
|
|
try { |
|
|
|
// 获取设备信息 |
|
|
|
DeviceSelectDataManager deviceDataManager = DeviceSelectDataManager.getInstance(context); |
|
|
@ -215,6 +233,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logInfo(TAG, "离场校验网络请求完成"); |
|
|
|
Log.d(TAG, "离场校验网络请求完成"); |
|
|
|
|
|
|
|
// 重置请求进行中标志 |
|
|
|
isRequestInProgress = false; |
|
|
|
|
|
|
|
if (listener != null) { |
|
|
|
listener.onLeaveVerificationComplete(); |
|
|
|
} |
|
|
@ -225,6 +246,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logError(TAG, "执行离场校验时发生异常", e); |
|
|
|
Log.e(TAG, "执行离场校验时发生异常: " + e.getMessage(), e); |
|
|
|
|
|
|
|
// 重置请求进行中标志 |
|
|
|
isRequestInProgress = false; |
|
|
|
|
|
|
|
if (listener != null) { |
|
|
|
String errorMessage = "系统异常: " + e.getMessage(); |
|
|
|
listener.onLeaveVerificationError(-1, errorMessage); |
|
|
@ -243,6 +267,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logInfo(TAG, "开始执行验证码离场校验"); |
|
|
|
Log.d(TAG, "performCodeLeaveVerification - verifyCode: " + verifyCode); |
|
|
|
|
|
|
|
// 设置请求进行中标志 |
|
|
|
isRequestInProgress = true; |
|
|
|
|
|
|
|
try { |
|
|
|
// 获取设备信息 |
|
|
|
DeviceSelectDataManager deviceDataManager = DeviceSelectDataManager.getInstance(context); |
|
|
@ -333,6 +360,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logInfo(TAG, "验证码离场校验网络请求完成"); |
|
|
|
Log.d(TAG, "验证码离场校验网络请求完成"); |
|
|
|
|
|
|
|
// 重置请求进行中标志 |
|
|
|
isRequestInProgress = false; |
|
|
|
|
|
|
|
if (listener != null) { |
|
|
|
listener.onLeaveVerificationComplete(); |
|
|
|
} |
|
|
@ -343,6 +373,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logError(TAG, "执行验证码离场校验时发生异常", e); |
|
|
|
Log.e(TAG, "执行验证码离场校验时发生异常: " + e.getMessage(), e); |
|
|
|
|
|
|
|
// 重置请求进行中标志 |
|
|
|
isRequestInProgress = false; |
|
|
|
|
|
|
|
if (listener != null) { |
|
|
|
String errorMessage = "系统异常: " + e.getMessage(); |
|
|
|
listener.onLeaveVerificationError(-1, errorMessage); |
|
|
@ -361,6 +394,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logInfo(TAG, "开始执行扫码器离场校验"); |
|
|
|
Log.d(TAG, "performScannerLeaveVerification - decryptText: " + decryptText); |
|
|
|
|
|
|
|
// 设置请求进行中标志 |
|
|
|
isRequestInProgress = true; |
|
|
|
|
|
|
|
try { |
|
|
|
// 获取设备信息 |
|
|
|
DeviceSelectDataManager deviceDataManager = DeviceSelectDataManager.getInstance(context); |
|
|
@ -452,6 +488,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logInfo(TAG, "扫码器离场校验网络请求完成"); |
|
|
|
Log.d(TAG, "扫码器离场校验网络请求完成"); |
|
|
|
|
|
|
|
// 重置请求进行中标志 |
|
|
|
isRequestInProgress = false; |
|
|
|
|
|
|
|
if (listener != null) { |
|
|
|
listener.onLeaveVerificationComplete(); |
|
|
|
} |
|
|
@ -462,6 +501,9 @@ public class LeaveVerificationManager { |
|
|
|
LogManager.logError(TAG, "执行扫码器离场校验时发生异常", e); |
|
|
|
Log.e(TAG, "执行扫码器离场校验时发生异常: " + e.getMessage(), e); |
|
|
|
|
|
|
|
// 重置请求进行中标志 |
|
|
|
isRequestInProgress = false; |
|
|
|
|
|
|
|
if (listener != null) { |
|
|
|
String errorMessage = "系统异常: " + e.getMessage(); |
|
|
|
listener.onLeaveVerificationError(-1, errorMessage); |
|
|
|