Browse Source

update leave api

devab
赵明涛 4 weeks ago
parent
commit
86c984a484
  1. 4
      app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
  2. 48
      app/src/main/java/com/ouxuan/oxface/network/LeaveVerificationManager.java
  3. 12
      app/src/main/java/com/ouxuan/oxface/network/api/PadApiService.java
  4. 5
      app/src/main/java/com/ouxuan/oxface/network/utils/NetworkUtils.java

4
app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java

@ -2612,9 +2612,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
// 离场校验使用人脸识别不需要暂停摄像头保持视频流继续运行 // 离场校验使用人脸识别不需要暂停摄像头保持视频流继续运行
// 调用离场校验管理器执行人脸离场校验
// 调用离场校验管理器执行人脸离场校验使用统一接口
if (leaveVerificationManager != null) { if (leaveVerificationManager != null) {
leaveVerificationManager.performFaceLeaveVerification(faceBase64);
leaveVerificationManager.performVerification(LeaveVerificationManager.TYPE_FACE_VERIFICATION, faceBase64, null);
} else { } else {
LogManager.logError(TAG, "离场校验管理器未初始化"); LogManager.logError(TAG, "离场校验管理器未初始化");
showToast("离场校验服务未初始化"); showToast("离场校验服务未初始化");

48
app/src/main/java/com/ouxuan/oxface/network/LeaveVerificationManager.java

@ -19,6 +19,12 @@ public class LeaveVerificationManager {
private static final String TAG = "LeaveVerificationM"; 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 Context context;
private LeaveVerificationListener listener; 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数据 * @param faceBase64 人脸base64数据
*/ */
@ -100,7 +142,7 @@ public class LeaveVerificationManager {
} }
// 调用离场校验接口type=2表示人脸验证 // 调用离场校验接口type=2表示人脸验证
NetworkUtils.checkLeave(token, 2, hardwareId, null, null,
NetworkUtils.checkLeave(token, 2, hardwareId, null, faceBase64, "face_base64", null,
new NetworkCallback<PadApiService.CheckLeaveResult>() { new NetworkCallback<PadApiService.CheckLeaveResult>() {
@Override @Override
public void onStart() { public void onStart() {
@ -210,7 +252,7 @@ public class LeaveVerificationManager {
} }
// 调用离场校验接口type=1表示验证码验证 // 调用离场校验接口type=1表示验证码验证
NetworkUtils.checkLeave(token, 1, hardwareId, verifyCode, null,
NetworkUtils.checkLeave(token, 1, hardwareId, verifyCode, null, null, null,
new NetworkCallback<PadApiService.CheckLeaveResult>() { new NetworkCallback<PadApiService.CheckLeaveResult>() {
@Override @Override
public void onStart() { public void onStart() {
@ -321,7 +363,7 @@ public class LeaveVerificationManager {
} }
// 调用离场校验接口type=4表示扫码器验证 // 调用离场校验接口type=4表示扫码器验证
NetworkUtils.checkLeave(token, 4, hardwareId, null, decryptText,
NetworkUtils.checkLeave(token, 4, hardwareId, null, null, null, decryptText,
new NetworkCallback<PadApiService.CheckLeaveResult>() { new NetworkCallback<PadApiService.CheckLeaveResult>() {
@Override @Override
public void onStart() { public void onStart() {

12
app/src/main/java/com/ouxuan/oxface/network/api/PadApiService.java

@ -1588,6 +1588,12 @@ public interface PadApiService {
@SerializedName("v_code") @SerializedName("v_code")
private String vCode; // 验证码type=1时必需 private String vCode; // 验证码type=1时必需
@SerializedName("face_base64")
private String faceBase64; // 人脸base64数据type=2时必需
@SerializedName("check_type")
private String checkType; // 检查类型type=2时必需
@SerializedName("decrypt_text") @SerializedName("decrypt_text")
private String decryptText; // 解密文本type=4时必需 private String decryptText; // 解密文本type=4时必需
@ -1604,6 +1610,12 @@ public interface PadApiService {
public String getVCode() { return vCode; } public String getVCode() { return vCode; }
public void setVCode(String vCode) { this.vCode = vCode; } public void setVCode(String vCode) { this.vCode = vCode; }
public String getFaceBase64() { return faceBase64; }
public void setFaceBase64(String faceBase64) { this.faceBase64 = faceBase64; }
public String getCheckType() { return checkType; }
public void setCheckType(String checkType) { this.checkType = checkType; }
public String getDecryptText() { return decryptText; } public String getDecryptText() { return decryptText; }
public void setDecryptText(String decryptText) { this.decryptText = decryptText; } public void setDecryptText(String decryptText) { this.decryptText = decryptText; }
} }

5
app/src/main/java/com/ouxuan/oxface/network/utils/NetworkUtils.java

@ -671,7 +671,8 @@ public class NetworkUtils {
* @param callback 回调接口 * @param callback 回调接口
*/ */
public static void checkLeave(String token, int type, int hardwareId, String vCode, public static void checkLeave(String token, int type, int hardwareId, String vCode,
String decryptText, NetworkCallback<PadApiService.CheckLeaveResult> callback) {
String faceBase64, String checkType, String decryptText,
NetworkCallback<PadApiService.CheckLeaveResult> callback) {
if (padApiService == null) { if (padApiService == null) {
callback.onError(-1, "NetworkUtils未初始化,请先调用init()方法"); callback.onError(-1, "NetworkUtils未初始化,请先调用init()方法");
return; return;
@ -683,6 +684,8 @@ public class NetworkUtils {
request.setType(type); request.setType(type);
request.setHardwareId(hardwareId); request.setHardwareId(hardwareId);
request.setVCode(vCode); request.setVCode(vCode);
request.setFaceBase64(faceBase64);
request.setCheckType(checkType);
request.setDecryptText(decryptText); request.setDecryptText(decryptText);
callback.onStart(); callback.onStart();

Loading…
Cancel
Save