You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.7 KiB
4.7 KiB
网络请求模块重构说明
概述
原先在 OXFaceOnlineActivity.java
中的网络请求代码过于冗杂,现已重构为两个独立的管理类:
- OrderVerificationManager - 负责执行各种类型的订单验证网络请求
- OrderVerificationResultHandler - 负责处理验证结果,包括成功、失败和异常情况
重构后的架构
1. OrderVerificationManager(订单验证管理器)
功能:
- 封装所有订单验证相关的网络请求逻辑
- 支持4种验证类型:验证码验证、人脸验证、扫码验证、扫码器验证
- 统一的参数校验和错误处理
主要方法:
// 执行验证
void performVerification(int verificationType, String verifyCode, String decryptText)
// 验证类型常量
TYPE_VERIFICATION_CODE = 1 // 验证码验证
TYPE_FACE_VERIFICATION = 2 // 人脸验证
TYPE_SCAN_VERIFICATION = 3 // 扫码验证
TYPE_SCANNER_VERIFICATION = 4 // 扫码器验证
2. OrderVerificationResultHandler(订单验证结果处理器)
功能:
- 处理不同验证类型的成功结果
- 统一的错误处理和异常处理
- 页面跳转逻辑封装
主要方法:
// 处理验证成功
void handleVerificationSuccess(CheckOrderResult data, int verificationType)
// 处理验证失败
void handleVerificationError(int errorCode, String errorMessage, int verificationType)
// 处理验证异常
void handleVerificationException(Throwable throwable, int verificationType)
使用方式
在 Activity 中的使用
public class OXFaceOnlineActivity extends BaseActivity {
private OrderVerificationManager orderVerificationManager;
private OrderVerificationResultHandler orderVerificationResultHandler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ... 其他初始化代码 ...
// 初始化网络请求管理器
initNetworkManagers();
}
/**
* 初始化网络请求管理器
*/
private void initNetworkManagers() {
// 初始化验证管理器
orderVerificationManager = new OrderVerificationManager(this,
new OrderVerificationManager.OrderVerificationListener() {
// 实现回调接口
});
// 初始化结果处理器
orderVerificationResultHandler = new OrderVerificationResultHandler(this,
new OrderVerificationResultHandler.OrderVerificationResultListener() {
// 实现回调接口
});
}
/**
* 执行订单验证(简化后的方法)
*/
private void getCheckOrder() {
// 使用新的网络请求管理器执行验证
orderVerificationManager.performVerification(modeType, verifyCode, null);
}
}
重构优势
1. 代码组织更清晰
- 分离关注点:网络请求逻辑与UI逻辑完全分离
- 模块化设计:每个类都有明确的职责
- 易于维护:修改网络请求逻辑不影响UI代码
2. 复用性更强
- 独立封装:网络请求管理器可以在其他Activity中复用
- 接口设计:通过监听器接口实现松耦合
- 配置灵活:可以轻松适配不同的UI需求
3. 错误处理更统一
- 集中处理:所有网络请求的错误处理逻辑集中在一个地方
- 类型安全:使用常量定义验证类型,避免魔法数字
- 异常管理:统一的异常处理机制
4. 测试更容易
- 单一职责:每个类的功能单一,便于单元测试
- 依赖注入:通过接口注入依赖,便于Mock测试
- 逻辑清晰:网络请求逻辑独立,便于测试覆盖
文件说明
新增文件:
OrderVerificationManager.java
- 订单验证管理器OrderVerificationResultHandler.java
- 订单验证结果处理器网络请求模块重构说明.md
- 本文档
修改文件:
OXFaceOnlineActivity.java
- 简化网络请求相关代码,使用新的封装类
删除的方法:
handleVerificationCodeCheck()
- 验证码验证处理handleFaceCheck()
- 人脸验证处理handleScanCheck()
- 扫码验证处理handleScannerCheck()
- 扫码器验证处理handleCheckOrderSuccess()
- 成功结果处理handleCheckOrderError()
- 错误结果处理
这些方法的功能现在都由新的封装类提供,代码更加模块化和可维护。
后续优化建议
- 添加缓存机制:对验证结果进行缓存,提高性能
- 添加重试机制:网络失败时自动重试
- 添加请求队列:管理并发请求
- 添加配置文件:将网络请求相关配置外部化