测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新发布 | 2017年1月 |
由 DUJIAJIA 维护。
依赖项 | |
AFNetworking | ~> 3.1.0 |
MJExtension | ~> 3.0.13 |
MBProgressHUD | ~> 1.0.0 |
AhNetManager 是一款基于 AFN 封装的网络处理层,支持 Cocoapods,封装的目的是因为公司要做模块化开发,将 AFN 封装后使用 Cocoapods 制作成公共库,为公司的所有项目提供网络处理功能,AhNetManager 让初中级开发工程师只关注业务逻辑功能的实现。
将 NETManager 文件夹及其包含的文件导入到您自己的项目中
在 AppDelegate.m 的 didFinishLaunchingWithOptions 方法中进行网络初始化配置,这些配置在你进行网络请求前需要设置好,且只需设置一次。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// 网络初始化
[SystemSet defaultSet].HOST = @"你项目的url的公共头";
[SystemSet defaultSet].SUFFIX = @"你项目的url的公共尾";
// 可以不设置,那所有的status都会在回调句柄中返回
[SystemSet defaultSet].SucStatus = @"服务器自定义的正常状态码";
return YES;
}
不演示 GET 请求。很简单
- (IBAction)btn1:(id)sender {
// post请求示例 具体请参看Demo
// 注意 Hea004 是AhRequest的子类,如果你只是一个项目的话,你可以在AhRequest类中根据自己产品的业务逻辑书写请求模型,
// 若是和我们一样,多个项目使用该网络处理层,我们需要把网络处理层和业务逻辑拆分开,我建议创建一AhRequest的子类,在该子类里边实现相关的业务逻辑
Hea004 *request = [[Hea004 alloc]init];
request.username = @"17011111111";
request.userpwd = @"200820E3227815ED1756A6B531E7E0D2";
[NetManager POST:Health004 parameters:request progress:^(int64_t bytesRead, int64_t totalBytesRead) {
} success:^(id responseObject, NSString *status) {
// 登录成功
NSLog(@"登录成功");
} failure:^(NSError *error) {
}];
}
- (IBAction)btn2:(id)sender {
Bre011 *request = [[Bre011 alloc]init];
request.action = @"addImg";
UIImage *img = [UIImage imageNamed:@"test.png"];
[NetManager POST:Breach011 parameters:request image:img progress:^(int64_t bytesRead, int64_t totalBytesRead) {
NSLog(@"图片上传%zd==总共%zd",bytesRead,totalBytesRead);
} success:^(id responseObject,NSString*status) {
Bre011Res *result = (Bre011Res *)responseObject;
Bre011ResItem *item = result.data.firstObject;
NSLog(@"图片所在服务器路径:%@",item.picurl);
} failure:^(NSError *error) {
}];
}
就写到这里吧,我的语文是体育老师教的,语言表述不当之处还望海涵,各位大侠不必纠结于以下几个问题: