RxNetworks 响应式插件网络架构开源项目

我要开发同款
匿名用户2022年01月14日
89阅读
开发技术Swift
所属分类网络(Networking)、iOS代码库
授权协议MIT

作品详情

RxNetworks是基于 RxSwift+Moya 搭建的响应式数据绑定网络API架构。

MoyaNetwork该模块是基于Moya封装的网络API架构

主要分为3部分:NetworkConfig:在程序最开始处设置配置信息,全局通用baseURL:根路径地址baseParameters:默认基本参数,类似:userID,token等baseMethod:默认请求类型updateBaseParametersWithValue:更新默认基本参数数据RxMoyaProvider:对网络请求添加响应式,返回Single序列NetworkUtil:网络相关函数defaultPlugin:添加默认插件transformAPISingleJSON:转换Single序列对象handyConfigurationPlugin:处理配置插件PluginSubType:继承替换Moya插件协议,方便后序扩展configuration:设置网络配置信息之后,开始准备请求之前,该方法可以用于密钥失效重新去获取密钥然后自动再次网络请求等场景autoAgainRequest:自动再次开启上次失败的网络请求,该方法可以用于密钥失效重新去获取密钥然后自动再次网络请求等场景NetworkAPI:在TargetType基础上增加协议属性和封装基础网络请求ip:根路径地址parameters:请求参数plugins:插件stubBehavior:是否走测试数据request:网络请求方法NetworkAPIOO:面向对象转换器,面向协议模式转面向对象,方便习惯OC思维的小伙伴cdy_ip:根路径地址cdy_path:请求路径cdy_parameters:请求参数cdy_plugins:插件cdy_testJSON:测试数据cdy_testTime:测试数据返回时间,默认半秒cdy_HTTPRequest:网络请求方法NetworkDebugging:调试打印模式openDebugRequest:开启请求打印openDebugResponse:开启结果打印 -面向对象使用示例1:

classOOViewModel:NSObject{letdisposeBag=DisposeBag()letdata=PublishRelay<String>()funcloadData(){varapi=NetworkAPIOO.init()api.cdy_ip=NetworkConfig.baseURLapi.cdy_path="/ip"api.cdy_method=.getapi.cdy_plugins=[NetworkLoadingPlugin.init()]api.cdy_HTTPRequest().asObservable().compactMap{(($0as!NSDictionary)["origin"]as?String)}.bind(to:data).disposed(by:disposeBag)}}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论