Browse Source

detect get order

main
MTing 5 days ago
parent
commit
59a53e5dae
  1. 4
      app/src/main/java/com/ouxuan/oxface/OXFaceOnlineActivity.java
  2. 58
      app/src/main/java/com/ouxuan/oxface/network/debug/NetworkDebugLogger.java

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

@ -1712,6 +1712,9 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
firstItem.getVCode().get(0) : ""); firstItem.getVCode().get(0) : "");
resultData.put("order_type", firstItem.getOrderType()); resultData.put("order_type", firstItem.getOrderType());
// 打印resultData
LogManager.logInfo(TAG, "resultData: " + resultData);
// 使用辅助方法处理info字段因为info可能是字符串或对象 // 使用辅助方法处理info字段因为info可能是字符串或对象
String cardNo = ""; String cardNo = "";
Object info = firstItem.getInfo(); Object info = firstItem.getInfo();
@ -1746,6 +1749,7 @@ public class OXFaceOnlineActivity extends BaseActivity implements View.OnClickLi
// queryData.put("face_base64", ret.face_base64); // 需要实际的人脸base64数据 // queryData.put("face_base64", ret.face_base64); // 需要实际的人脸base64数据
queryData.put("check_type", "face_base64"); queryData.put("check_type", "face_base64");
// if(isOrder.length>0) queryData.put("check_order_res", isOrder); // 需要实际的识别数据 // if(isOrder.length>0) queryData.put("check_order_res", isOrder); // 需要实际的识别数据
queryData.put("result", data.getResult());
// 模拟跳转到订单验证页面 // 模拟跳转到订单验证页面
LogManager.logInfo(TAG, "准备跳转到订单验证页面: " + queryData.toString()); LogManager.logInfo(TAG, "准备跳转到订单验证页面: " + queryData.toString());

58
app/src/main/java/com/ouxuan/oxface/network/debug/NetworkDebugLogger.java

@ -53,7 +53,9 @@ public class NetworkDebugLogger {
} }
Log.e(TAG, " URL:"); Log.e(TAG, " URL:");
Log.e(TAG, url);
// 将POST请求的data参数转换为GET请求参数格式并拼接在URL后面
String finalUrl = appendPostDataToUrl(url, requestData, request);
Log.e(TAG, finalUrl);
// 打印响应信息 // 打印响应信息
Log.e(TAG, " 服务端返回:"); Log.e(TAG, " 服务端返回:");
@ -305,4 +307,58 @@ public class NetworkDebugLogger {
// 这里可以动态控制调试开关 // 这里可以动态控制调试开关
// 实际项目中可以通过配置文件或BuildConfig控制 // 实际项目中可以通过配置文件或BuildConfig控制
} }
/**
* 将POST请求的data参数转换为GET请求参数格式并拼接在URL后面
* @param originalUrl 原始URL
* @param requestData 请求数据
* @param request 请求对象
* @return 拼接参数后的URL
*/
private static String appendPostDataToUrl(String originalUrl, String requestData, Request request) {
try {
// 如果是GET请求或者没有请求数据直接返回原URL
if ("GET".equals(request.method()) || requestData == null || requestData.isEmpty() || "{}".equals(requestData)) {
return originalUrl;
}
// 解析JSON格式的请求数据
if (requestData.startsWith("{") && requestData.endsWith("}")) {
StringBuilder urlBuilder = new StringBuilder(originalUrl);
boolean hasQuery = originalUrl.contains("?");
// 移除JSON的花括号
String jsonContent = requestData.substring(1, requestData.length() - 1);
// 解析键值对
String[] pairs = jsonContent.split(",");
for (String pair : pairs) {
String[] keyValue = pair.split(":");
if (keyValue.length == 2) {
String key = keyValue[0].trim().replaceAll("\"", "");
String value = keyValue[1].trim().replaceAll("\"", "");
// 添加分隔符
if (hasQuery) {
urlBuilder.append("&");
} else {
urlBuilder.append("?");
hasQuery = true;
}
// 添加键值对
urlBuilder.append(key).append("=").append(value);
}
}
return urlBuilder.toString();
}
// 如果不是标准JSON格式返回原URL
return originalUrl;
} catch (Exception e) {
Log.e(TAG, "拼接URL参数失败: " + e.getMessage());
return originalUrl;
}
}
} }
Loading…
Cancel
Save