oc_AF

2016-08-12  本文已影响72人  SMFly
   1.GET
   + (void)getRequestWithPath:(NSString *)pathString viewController:(UIViewController *)target success:(dataRequsetHelpersBlock)success {
    
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //输出格式
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil];
    //去除空值
    ((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES;
    
    [manager GET:pathString parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(responseObject,response.statusCode);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        if (error.code == -1009) {
            [AlertViewHelpers showViewAtBottomWithViewController:target string:@"网络请求失败"];

        }
        if (response.statusCode == 401) {
            //token失效
            //            [NetRequestModel unauthoredAccessActionWith:target];
        }
        
        success(@"error",response.statusCode);
    }];
    
  }

  2.DELETE
  + (void)deleteRequestWithPath:(NSString *)pathString viewController:(UIViewController *)target sucess:(dataRequsetHelpersBlock)success {
    
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //去除空值
    ((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES;
    //输出格式
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil];
    
    [manager DELETE:pathString parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(responseObject,response.statusCode);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        if (target != nil) {
            // 此处强制转换类型。
            if (error.code == -1009) {
//                [AlertViewHelpers setAlertViewWithMessage:@"网络请求失败" viewController:target];
                [AlertViewHelpers showViewAtBottomWithViewController:target string:@"网络请求失败"];
            }
        }
        success(@"error",response.statusCode);
    }];
}

3.patch
+ (void)patchRequestWithParh:(NSString *)urlPath body:(NSDictionary *)bodyDic  sucess:(dataRequsetHelpersBlock)success {
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //去除空值
    ((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES;
    //输出格式
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil];
    [manager PATCH:urlPath parameters:bodyDic success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(responseObject,response.statusCode);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(@"error",response.statusCode);
    }];
    
    
}

4.put
+ (void)putRequestWithParh:(NSString *)urlPath body:(NSDictionary *)bodyDic  sucess:(dataRequsetHelpersBlock)success {
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //去除空值
    ((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES;
    //输出格式
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil];
    [manager PUT:urlPath parameters:bodyDic success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(responseObject,response.statusCode);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(@"error",response.statusCode);
    }];
}

5.post

+ (void)postRequestWithParh:(NSString *)urlPath body:(NSDictionary *)bodyDic  sucess:(dataRequsetHelpersBlock)success {
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    //去除空值
    ((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES;
    //输出格式
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html",@"text/json",@"text/javascript", nil];
    [manager POST:urlPath parameters:bodyDic progress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(responseObject,response.statusCode);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response;
        // 此处强制转换类型。
        success(@"error",response.statusCode);
    }];
    
}

6.网络判断

+ (void)recachabilityStatus:(dataRequsetHelpersBlock)success {
    // 检测网络连接状态
    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
    // 连接状态回调处理
    /* AFNetworking的Block内使用self须改为weakSelf, 避免循环强引用, 无法释放 */
    //__weak typeof(self) weakSelf = self;
    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status)
     {
         switch (status)
         {
             case AFNetworkReachabilityStatusUnknown:
                 success(@"no",404);
                 // 回调处理
                 break;
             case AFNetworkReachabilityStatusNotReachable:
                 success(@"no",404);
                 // 回调处理
                 break;
             case AFNetworkReachabilityStatusReachableViaWWAN:
                 success(@"wan",200);
                 // 回调处理
                 break;
             case AFNetworkReachabilityStatusReachableViaWiFi:
                 success(@"wifi",200);
                 // 回调处理
                 break;
             default:
                 break;
         }
     }];
}

+ (void)cancelRequest {
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    
    [manager.operationQueue cancelAllOperations];
}
上一篇 下一篇

猜你喜欢

热点阅读