🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 简要介绍 URNetworking是一个基于AFNetworking进行二次封装的网络请求库,以便在项目中使用网络请求时能够方便的接收到后台传回来的数据,并对相关数据进行处理。 使用URNetworking将会让你的项目开发更加简便。 代码下载地址: ~~~ http://192.168.0.116/monkey/iOS-URNetworking.git ~~~ ## 如何导入 在你的项目中导入URNetworking有两种方法: 1. 使用Cocoapods(推荐) 2. 手动下载代码,然后加入到工程中。 #### 使用Cocoapods导入 Cocoapods是一款非常好用的Objective-C代码第三方库管理工具,它只需要简单的一条命令即可将你所需要的库加入到工程中,而不需要其它任何配置。你可以在终端使用如下命令来安装Cocoapods。 ~~~ $ gem install cocoapods ~~~ ### Podfile 使用Cocoapods导入库需要在你的工程根目录中加入Podfile文件,文件中需要注明你所要用到的第三方库。如需要导入URNetworking,你需要在Podfile文件中加入如下信息: ~~~ platform :ios, '7.0' target 'TargetName' do pod 'iOS-URAlert', :git => 'http://192.168.0.116/monkey/iOS-URAlert.git' pod 'iOS-URLoadIndicator', :git => 'http://192.168.0.116/monkey/iOS-URLoadIndicator.git' pod 'iOS-URBaseMacros', :git => 'http://192.168.0.116/monkey/iOS-URBaseMacros.git' pod 'iOS-URNetworking', :git => 'http://192.168.0.116/monkey/iOS-URNetworking.git' end ~~~ 然后在终端执行命令: ~~~ $ pod install ~~~ 或者 ~~~ $ pod update ~~~ ps:有时候执行上述两个命令,都会卡在Analyzing dependencies不动,原因在于当执行以上两个命令的时候会升级Cocoapods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下: ~~~ //以下命令二选一 $ pod install --verbose --no-repo-update $ pod update --verbose --no-repo-update ~~~ #### 手动导入 直接将目录 NetworkingDemo/Networking 下的代码拖入工程,同时还需要手动加入以下库: ~~~ AFNetworking (3.1.0) ReactiveCocoa (2.5) Masonry (1.0.2) MJRefresh (3.1.12) iOS-URAlert iOS-URLoadIndicator iOS-URBaseMacros ~~~ ## 使用时需要的配置 开始使用前需要设置一些公用的参数具体设置信息如下(使用前如果相关参数未设置,在联机调试时会给出相应的提示信息): ~~~ /** * 设置请求默认的服务器地址 * * @param httpUrl - 默认的服务器地址 * * @return none */ + (void)setDefaultHttpUrl:(NSString *)httpUrl; + (NSString *)defaultHttpUrl; /** * 设置客户端类型 * * @param tuc - 客户端类型标示 客户端类型代码 描述 1 android大众版 2 android医护版 3 ios大众版 4 ios医护版 5 iPad大众版 6 iPad医护版 7 win8大众版 8 win8医护版 9 wp大众版 10 wp医护版 11 微信大众版 12 微信医护版 13 支付宝大众版 14 支付宝医护版 15 官网大众版 16 官网医护版 17 其他 * * @return none */ + (void)setTuc:(NSString *)tuc; /** * 设置客户端版本 * * @param vuc - app当前版本号 * * @return none */ + (void)setVuc:(NSString *)vuc; /** * 设置当前登录的 session * * @param suc - 当前登录的 session * * @return none */ + (void)setSuc:(NSString *)suc; /** * 设置当前设备的设备号,如果不设置,会自动获取 * * @param duc - 当前设备的设备号 * * @return none */ + (void)setDuc:(NSString *)duc; /** * 设置验证代码(该参数放在http请求的header中),如果请求需要检验,请设置 * * @param kuc - 校验码 * * @return none */ + (void)setKuc:(NSString *)kuc; /** * 设置登录页类名 * * @param loginVCName - 登录类名 * * @return none */ + (void)setLoginViewControllerName:(NSString *)loginVCName; /** * 开启监测网络状态 * * @param enabled - YES:开启监测;NO:关闭 * * @return none */ + (void)monitoringNetworkReachability:(BOOL)enabled; /** * 是否显示手机状态栏的网络访问标示 * * @param enabled - YES:显示;NO:不显示 * * @return none */ + (void)showNetworkActivityIndication:(BOOL)enabled; ~~~ ## 开始使用 以上参数设置成功之后,就可以在需要进行网络请求的地方使用了。为了适应不同的使用场景,URNetworking提供多个网络请求的接口,具体可参见URNetworking.h文件。示例如下所示: ~~~ /** * 数据请求 * * @param apiName - api 名字 * @param parameter - 请求参数 * @param successBlock - 请求成功回调 * @param failureBlock - 请求失败回调 * * @return none */ + (void)netRequestPOSTWithAPI:(NSString *)apiName parameter:(NSDictionary *)parameter requestSuccessBlock:(URRequestSuccessBlock)successBlock requestFailureBlock:(URRequestFailreBlock)failtureBlock; /** * 数据请求 * * @param apiName - api 名字 * @param parameter - 请求参数 * @param alertStyle - 设置请求异常提示类型 * @param successBlock - 请求成功回调 * @param failureBlock - 请求失败回调 * * @return none */ + (void)netRequestPOSTWithAPI:(NSString *)apiName parameter:(NSDictionary *)parameter alertStyle:(URAlertStyle)alertStyle requestSuccessBlock:(URRequestSuccessBlock)successBlock requestFailureBlock:(URRequestFailreBlock)failtureBlock; ~~~