测试版9.8.3
This commit is contained in:
@@ -49,7 +49,8 @@ typedef NS_ENUM(NSInteger, RequestType){
|
||||
+ (AFNOHeaderHttpTool *)sharedInstance;
|
||||
//POST请求
|
||||
-(void) postRequestWihtUrl:(NSString *)url
|
||||
params:(NSDictionary *)params
|
||||
keys:(NSArray *)keys
|
||||
values:(NSArray *)values
|
||||
success:(WBCallBackSuccess)success
|
||||
failure:(WBCallBackFailed)failure;
|
||||
/**
|
||||
|
||||
@@ -36,20 +36,62 @@
|
||||
});
|
||||
return _instance;
|
||||
}
|
||||
-(NSString *)getRequestPath:(NSString *)urlPath keysArray:(NSArray *)keys valuesArray:(NSArray *)values{
|
||||
urlPath = [urlPath stringByAppendingString:@"?"];
|
||||
for (int i=0; i<keys.count; i++) {
|
||||
NSString *keyValue = [[NSString alloc]initWithFormat:@"%@",values[i]];
|
||||
|
||||
NSString * newValue = [keyValue stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
|
||||
if(i==keys.count-1)
|
||||
urlPath = [urlPath stringByAppendingString:[NSString stringWithFormat:@"%@=%@",keys[i],newValue]];
|
||||
else
|
||||
urlPath = [urlPath stringByAppendingString:[NSString stringWithFormat:@"%@=%@&",keys[i],newValue]];
|
||||
|
||||
}
|
||||
return urlPath;
|
||||
}
|
||||
-(NSMutableURLRequest *)getUrlRequestWithPath:(NSString *)urlString keysArray:(NSArray *)keys valuesArray:(NSArray *)values{
|
||||
|
||||
// urlString = [Api_DomainName stringByAppendingString:urlString];
|
||||
NSString *newPath = @"";
|
||||
if (keys==nil) {
|
||||
newPath = urlString;
|
||||
}else{
|
||||
newPath = [self getRequestPath:urlString keysArray:keys valuesArray:values];
|
||||
}
|
||||
NSLog(@"requestUrl = %@",newPath);//请求地址
|
||||
|
||||
NSURL *url = [NSURL URLWithString:urlString];
|
||||
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
|
||||
[urlRequest setTimeoutInterval:15];//超时时间15秒
|
||||
[urlRequest setHTTPMethod:@"POST"];//请求方式post
|
||||
NSString *bodyStr;
|
||||
if (keys==nil) {
|
||||
bodyStr = [newPath substringFromIndex:urlString.length];
|
||||
}else
|
||||
bodyStr = [newPath substringFromIndex:urlString.length+1];//请求体封装(有?的情况)
|
||||
NSData *bodyData = [bodyStr dataUsingEncoding:NSUTF8StringEncoding];
|
||||
urlRequest.HTTPBody = bodyData;
|
||||
return urlRequest;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//POST请求
|
||||
-(void) postRequestWihtUrl:(NSString *)url
|
||||
params:(NSDictionary *)params
|
||||
keys:(NSArray *)keys
|
||||
values:(NSArray *)values
|
||||
success:(WBCallBackSuccess)success
|
||||
failure:(WBCallBackFailed)failure{
|
||||
AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManager manager];
|
||||
//此类中接口 无安全校验
|
||||
manager.responseSerializer=[AFHTTPResponseSerializer serializer];
|
||||
//POST请求
|
||||
|
||||
[manager POST:url parameters:params
|
||||
success:^(AFHTTPRequestOperation* operation, id responseObject) {
|
||||
failure:(WBCallBackFailed)failure
|
||||
{
|
||||
|
||||
NSURLSession *session = [NSURLSession sharedSession];
|
||||
NSMutableURLRequest *urlRequest = [self getUrlRequestWithPath:url keysArray:keys valuesArray:values];
|
||||
NSURLSessionDataTask *sessionDataTask = [session dataTaskWithRequest:urlRequest completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
|
||||
if ([data length] >0 &&
|
||||
error == nil){
|
||||
[SVProgressHUD dismissWithDelay:0.3];
|
||||
id result=[NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
|
||||
id result=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
|
||||
NSLog(@"获取数据 resalut = %@",result);
|
||||
if ([result isKindOfClass:[NSDictionary class]]) {
|
||||
// NSString *resCode = [NSString stringWithFormat:@"%@",[result objectForKey:RESPONSE_CODE]];//状态码
|
||||
@@ -74,16 +116,18 @@
|
||||
}else{
|
||||
NSLog(@"json格式错误");
|
||||
}
|
||||
} failure:^(AFHTTPRequestOperation* operation, NSError* error) {
|
||||
//反馈错误信息(网络连接失败(服务器关停)等信息)
|
||||
if (error) {
|
||||
[SVProgressHUD showInfoWithStatus:@"请求数据失败"];
|
||||
}
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
//错误信息展示(其他相关错误处理在具体的类里进行)
|
||||
failure([self getErrorDict:error]);
|
||||
});
|
||||
}];
|
||||
}else if ([data length] == 0 &&
|
||||
error == nil){
|
||||
//请求数据长度为0(服务器返回数据内容问题)
|
||||
[SVProgressHUD dismiss];
|
||||
}else if (error != nil){
|
||||
//反馈错误信息(网络连接失败(服务器关停)等信息)
|
||||
if (error) {
|
||||
[SVProgressHUD dismiss];
|
||||
}
|
||||
}
|
||||
}];
|
||||
[sessionDataTask resume];
|
||||
}
|
||||
+(void) requestWihtMethod:(RequestType)
|
||||
methodType url : (NSString *)url
|
||||
|
||||
Reference in New Issue
Block a user