Latest | 1.0.4 |
---|---|
Homepage | https://github.com/gdhGaoFei/GDHNetwork |
License | MIT |
Platforms | ios 7.0, requires ARC |
Dependencies | AFNetworking, MBProgressHUD |
Authors |
GDHNetwork is is a high level request util based on AFNetworking
此网络二次开发是基于AFNetworking3.0以上版本封装的网络层。
使用常见的block、代理及SEL方式进行回调数据。
提供常用的GET/POST接口、上传下载图片、文件接口、支持缓存等。
增加无网络时提示框提醒,还增加了网络监听,MBProgressHUD菊花等。
下载安装
pod ‘GDHNetwork’
github网址:
https://github.com/gdhGaoFei/GDHNetwork.git
QQ联系:964195787
Demo中已有参考代码,谢谢支持!
方法
在使用时直接将其文件中的 #import "GDHNetworkHeader.h" 写到pch文件中,直接可以调用基类(#import "GDHNetworkObject.h")和管理类(#import "GDHNetworkManager.h")的方法及菊花(MBProgressHUD)
基类 #import "GDHNetworkObject.h" 中涵盖了
1.创建网络请求的方法
2.图片上传、文件上传及下载
3.取消全部及某个网络请求
4.网络请求的缓存大小及清理缓存的方法等
监听网络状态
[GDHNetworkObject StartMonitoringNetworkStatus:^(GDHNetworkStatus status) {
switch (status) {
case GDHNetworkStatusUnknown://未知网络
DTLog(@"未知网络");
break;
case GDHNetworkStatusNotReachable://没有网络
{
DTLog(@"网络无连接");
SHOW_ALERT(@"网络连接断开,请检查网络!");
}
break;
case GDHNetworkStatusReachableViaWWAN:
DTLog(@"2、3、4G网络");
break;
case GDHNetworkStatusReachableViaWiFi:
DTLog(@"WiFi网络");
break;
default:
break;
}
}];
设置网络请求的基础网址
[GDHNetworkObject updateBaseUrl:baseURL];
修改网络请求的缓存路径
[GDHNetworkObject updateBaseCacheDocuments:@"GDH_123"];
获取网络请求的缓存路径
[GDHNetworkObject baseCache]
开启或关闭接口打印信息
[GDHNetworkObject enableInterfaceDebug:YES];
设置请求超时时间
[GDHNetworkObject setTimeout:15];
配置请求和响应类型,由于部分伙伴们的服务器不接收JSON传过去,现在默认值改成了plainText
[GDHNetworkObject configRequestType:GDHRequestTypeJSON
responseType:GDHResponseTypeJSON
shouldAutoEncodeUrl:YES
callbackOnCancelRequest:NO];
设置GET、POST请求都缓存
[GDHNetworkObject cacheGetRequest:YES shoulCachePost:YES];
管理类 #import "GDHNetworkManager.h" 中涵盖了 1.GET请求的block、delegate、SEL三个方法的请求 1.POST请求的block、delegate、SEL三个方法的请求 根据自己的需求自行调用
本文参考了CocoaChina上的 “超强 AFN 封装” 和HYBNetworking两个版本的网络封装,此次封装是将其两个的方法及思路综合在了一起。
超强 AFN 封装: 提供了三种回调数据的方式
HYBNetworking:提供了无网络时获取缓存数据(经测试能够存储缓存数据,但是无法获取到缓存数据,问题已在此版本中修改)
在缓存数据时 HYBNetworking 是使用以下方法
if (sg_cacheGet) {
[self cacheResponseObject:responseObject request:task.currentRequest parameters:params];
}
应该更换成:
if (sg_cachePost) {
[self cacheResponseObject:responseObject request:absolute parameters:params];
}
Latest podspec
{ "name": "GDHNetwork", "version": "1.0.4", "summary": "GDHNetwork is a high level request util based on AFNetworking.", "description": "u6b64u7f51u7edcu4e8cu6b21u5f00u53d1u662fu57fau4e8eAFNetworking3.0u4ee5u4e0au7248u672cu5c01u88c5u7684u7f51u7edcu5c42,u4f7fu7528u5e38u89c1u7684blocku3001u4ee3u7406u53caSELu65b9u5f0fu8fdbu884cu56deu8c03u6570u636e,u63d0u4f9bu5e38u7528u7684GET/POSTu63a5u53e3u3001u4e0au4f20u4e0bu8f7du56feu7247u3001u6587u4ef6u63a5u53e3u3001u652fu6301u7f13u5b58u7b49,u589eu52a0u65e0u7f51u7edcu65f6u63d0u793au6846u63d0u9192,u8fd8u589eu52a0u4e86u7f51u7edcu76d1u542cuff0cMBProgressHUDu83cau82b1u7b49", "homepage": "https://github.com/gdhGaoFei/GDHNetwork", "license": "MIT", "authors": { "_GaoFei": "[email protected]" }, "platforms": { "ios": "7.0" }, "source": { "git": "https://github.com/gdhGaoFei/GDHNetwork.git", "tag": "1.0.4" }, "source_files": [ "GDHNetwork", "*.{h,m}" ], "resources": "GDHNetwork/images/*.png", "requires_arc": true, "dependencies": { "AFNetworking": [ "~> 3.1.0" ], "MBProgressHUD": [ "~> 1.0.0" ] } }
Thu, 16 Feb 2017 04:20:05 +0000