|
|
@ -19,6 +19,12 @@ public class LeaveVerificationManager { |
|
|
|
|
|
|
|
private static final String TAG = "LeaveVerificationM"; |
|
|
|
|
|
|
|
// 验证类型常量 |
|
|
|
public static final int TYPE_VERIFICATION_CODE = 1; // 验证码验证 |
|
|
|
public static final int TYPE_FACE_VERIFICATION = 2; // 人脸验证 |
|
|
|
public static final int TYPE_SCAN_VERIFICATION = 3; // 扫码验证 |
|
|
|
public static final int TYPE_SCANNER_VERIFICATION = 4; // 扫码器验证 |
|
|
|
|
|
|
|
private Context context; |
|
|
|
private LeaveVerificationListener listener; |
|
|
|
|
|
|
@ -62,6 +68,42 @@ public class LeaveVerificationManager { |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 执行离场验证(统一入口) |
|
|
|
* @param verificationType 验证类型 |
|
|
|
* @param verifyCode 验证码或人脸base64数据 |
|
|
|
* @param decryptText 解密文本(仅扫码器验证使用) |
|
|
|
*/ |
|
|
|
public void performVerification(int verificationType, String verifyCode, String decryptText) { |
|
|
|
LogManager.logInfo(TAG, "开始执行离场验证,类型: " + verificationType); |
|
|
|
|
|
|
|
// 根据验证类型执行相应的验证 |
|
|
|
switch (verificationType) { |
|
|
|
case TYPE_VERIFICATION_CODE: |
|
|
|
performCodeLeaveVerification(verifyCode); |
|
|
|
break; |
|
|
|
case TYPE_FACE_VERIFICATION: |
|
|
|
performFaceLeaveVerification(verifyCode); // verifyCode在这里实际上是faceBase64 |
|
|
|
break; |
|
|
|
case TYPE_SCAN_VERIFICATION: |
|
|
|
// TODO: 实现扫码验证逻辑(如果需要) |
|
|
|
LogManager.logInfo(TAG, "扫码验证暂未实现"); |
|
|
|
if (listener != null) { |
|
|
|
listener.onLeaveVerificationError(-1, "扫码验证暂未实现"); |
|
|
|
} |
|
|
|
break; |
|
|
|
case TYPE_SCANNER_VERIFICATION: |
|
|
|
performScannerLeaveVerification(decryptText); |
|
|
|
break; |
|
|
|
default: |
|
|
|
LogManager.logError(TAG, "不支持的验证类型: " + verificationType); |
|
|
|
if (listener != null) { |
|
|
|
listener.onLeaveVerificationError(-1, "不支持的验证类型"); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 执行人脸离场校验 |
|
|
|
* @param faceBase64 人脸base64数据 |
|
|
|
*/ |
|
|
@ -100,7 +142,7 @@ public class LeaveVerificationManager { |
|
|
|
} |
|
|
|
|
|
|
|
// 调用离场校验接口(type=2表示人脸验证) |
|
|
|
NetworkUtils.checkLeave(token, 2, hardwareId, null, null, |
|
|
|
NetworkUtils.checkLeave(token, 2, hardwareId, null, faceBase64, "face_base64", null, |
|
|
|
new NetworkCallback<PadApiService.CheckLeaveResult>() { |
|
|
|
@Override |
|
|
|
public void onStart() { |
|
|
@ -210,7 +252,7 @@ public class LeaveVerificationManager { |
|
|
|
} |
|
|
|
|
|
|
|
// 调用离场校验接口(type=1表示验证码验证) |
|
|
|
NetworkUtils.checkLeave(token, 1, hardwareId, verifyCode, null, |
|
|
|
NetworkUtils.checkLeave(token, 1, hardwareId, verifyCode, null, null, null, |
|
|
|
new NetworkCallback<PadApiService.CheckLeaveResult>() { |
|
|
|
@Override |
|
|
|
public void onStart() { |
|
|
@ -321,7 +363,7 @@ public class LeaveVerificationManager { |
|
|
|
} |
|
|
|
|
|
|
|
// 调用离场校验接口(type=4表示扫码器验证) |
|
|
|
NetworkUtils.checkLeave(token, 4, hardwareId, null, decryptText, |
|
|
|
NetworkUtils.checkLeave(token, 4, hardwareId, null, null, null, decryptText, |
|
|
|
new NetworkCallback<PadApiService.CheckLeaveResult>() { |
|
|
|
@Override |
|
|
|
public void onStart() { |
|
|
|