+(void)taoqipost:(NSString *)url params:(NSMutableDictionary *)params controller:(UIViewController *)VC success:(void (^)(id _Nullable))success errcode:(void (^)(id _Nullable))errcode failure:(void (^)(NSError * _Nullable))failure
{
// 1.创建请求管理者
AFHTTPSessionManager *manager=[AFHTTPSessionManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];//请求数据格式为json
manager.responseSerializer = [AFJSONResponseSerializer serializer];//响应数据格式
manager.requestSerializer.timeoutInterval = 10.0;//超时时间10秒
manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObjectsFromSet:[NSSet setWithObjects:@"application/json", @"text/json" , @"text/html", @"text/plain", @"text/javascript", nil]];
NSDictionary *commonParam = [NSDictionary dictionaryWithObjectsAndKeys:
gDevId, @"devid",
gToken, @"token",
[NSNumber numberWithInt:DEV_TYPE], @"devtype",
[NSNumber numberWithInt:APPVER], @"appver",
[NSNumber numberWithInt:APP_ID], @"appid",
nil];
NSLog(@"token==%@",gToken);
NSMutableDictionary *bodyDic = [NSMutableDictionary dictionaryWithDictionary:commonParam];//字典合并
for (id key in params) {
id value=[params objectForKey:key];
[bodyDic setObject:value forKey:key];
}
NSLog(@"拼接的字典%@",bodyDic);
[manager POST:url parameters:bodyDic progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if ([responseObject[@"errcode"] integerValue]==0) {
if (success) {
success(responseObject);//code==0的时候传出去直接解析
}
}else{
if (errcode) {
errcode(responseObject[@"errcode"]);//code!=0的时候只要传出错误码就行
}
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);//网络错误等等
}
}];
网络请求封装错误码
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 代码地址https://github.com/chenwei007/AFN-.git 中心化的设计思想,代码简洁统...
- React Native中虽然也内置了XMLHttpRequest 网络请求API(也就是俗称的ajax),但XM...
- 网络请求AFNetworking使用量不用过多的说了,但是在开发过程中,需要用到自己去封装一个网络请求,此处主要是...