# 网络请求模块重构说明 ## 概述 原先在 `OXFaceOnlineActivity.java` 中的网络请求代码过于冗杂,现已重构为两个独立的管理类: 1. **OrderVerificationManager** - 负责执行各种类型的订单验证网络请求 2. **OrderVerificationResultHandler** - 负责处理验证结果,包括成功、失败和异常情况 ## 重构后的架构 ### 1. OrderVerificationManager(订单验证管理器) **功能:** - 封装所有订单验证相关的网络请求逻辑 - 支持4种验证类型:验证码验证、人脸验证、扫码验证、扫码器验证 - 统一的参数校验和错误处理 **主要方法:** ```java // 执行验证 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(订单验证结果处理器) **功能:** - 处理不同验证类型的成功结果 - 统一的错误处理和异常处理 - 页面跳转逻辑封装 **主要方法:** ```java // 处理验证成功 void handleVerificationSuccess(CheckOrderResult data, int verificationType) // 处理验证失败 void handleVerificationError(int errorCode, String errorMessage, int verificationType) // 处理验证异常 void handleVerificationException(Throwable throwable, int verificationType) ``` ## 使用方式 ### 在 Activity 中的使用 ```java 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测试 - **逻辑清晰**:网络请求逻辑独立,便于测试覆盖 ## 文件说明 ### 新增文件: 1. `OrderVerificationManager.java` - 订单验证管理器 2. `OrderVerificationResultHandler.java` - 订单验证结果处理器 3. `网络请求模块重构说明.md` - 本文档 ### 修改文件: 1. `OXFaceOnlineActivity.java` - 简化网络请求相关代码,使用新的封装类 ### 删除的方法: - `handleVerificationCodeCheck()` - 验证码验证处理 - `handleFaceCheck()` - 人脸验证处理 - `handleScanCheck()` - 扫码验证处理 - `handleScannerCheck()` - 扫码器验证处理 - `handleCheckOrderSuccess()` - 成功结果处理 - `handleCheckOrderError()` - 错误结果处理 这些方法的功能现在都由新的封装类提供,代码更加模块化和可维护。 ## 后续优化建议 1. **添加缓存机制**:对验证结果进行缓存,提高性能 2. **添加重试机制**:网络失败时自动重试 3. **添加请求队列**:管理并发请求 4. **添加配置文件**:将网络请求相关配置外部化