iOS 之AFN封装
2017-08-23 11:42
811 查看
************分发入口
#import <Foundation/Foundation.h>
typedef void(^SuccessHandleBlock) (NSString *msg,
id responseObject);
typedef void(^FailureHandleBlock) (NSString *msg,
NSInteger errorCode);
@interface WofuTotalRequest :
NSObject
//注册
+(void)registWithPhoneNumber:(NSString *)phoneNumber password:(NSString
*)password agent:(NSString *)agent successBlock:(SuccessHandleBlock)successBlock failureBlock:(FailureHandleBlock)failureBlock;
//绑定借记卡
+(void)bindDebirCardRequest:(NSString *)phoneNumber identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock;
//绑定贷记卡
+(void)bindCreditCardRequest:(NSString *)validDate identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock;
@end
************
#import "WofuTotalRequest.h"
#import "WofuRequest.h"
@implementation WofuTotalRequest
//注册
+(void)registWithPhoneNumber:(NSString *)phoneNumber password:(NSString
*)password agent:(NSString *)agent successBlock:(SuccessHandleBlock)successBlock failureBlock:(FailureHandleBlock)failureBlock{
NSString *url=[@"http://192.168.1.35:1111/test/users"
stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet
URLQueryAllowedCharacterSet]];
NSDictionary *params=@{
@"mobile": phoneNumber,
@"password":password,
@"agent": agent
};
[WofuRequest
RegistRequestWithUrl:url
params:params successBlock:^(NSURLSessionDataTask *task,
id responseObject) {
if(responseObject){
NSLog(@"注册成功%@---error%@",responseObject,responseObject[@"error"]);
successBlock(@"success",responseObject);
}
} failureBlock:^(NSURLSessionDataTask *task,
NSError *error) {
}];
}
//绑定借记卡
+(void)bindDebirCardRequest:(NSString *)phoneNumber identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock{
NSString *url=[@"http://192.168.1.35:1111/test/cards/1"
stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet
URLQueryAllowedCharacterSet]];
NSDictionary *params=@{
@"mobile": phoneNumber,
@"card_num":debitCard,
@"id_num": identifierCard,
@"name":name
};
[WofuRequest
RegistRequestWithUrl:url
params:params successBlock:^(NSURLSessionDataTask *task,
id responseObject) {
if(responseObject){
NSLog(@"绑定借记卡成功%@---error%@",responseObject,responseObject[@"error"]);
successBlock(@"success",responseObject);
}
} failureBlock:^(NSURLSessionDataTask *task,
NSError *error) {
}];
}
//绑定贷记卡
+(void)bindCreditCardRequest:(NSString *)validDate identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock{
NSString *url=[@"http://192.168.1.35:1111/test/cards/2"
stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet
URLQueryAllowedCharacterSet]];
NSDictionary *params=@{
// @"mobile": phoneNumber,
@"card_num":debitCard,
@"id_num": identifierCard,
@"name":name,
@"valid_date":validDate
};
[WofuRequest
RegistRequestWithUrl:url
params:params successBlock:^(NSURLSessionDataTask *task,
id responseObject) {
if(responseObject){
NSLog(@"绑定贷记卡成功%@---error%@",responseObject,responseObject[@"error"]);
successBlock(@"success",responseObject);
}
} failureBlock:^(NSURLSessionDataTask *task,
NSError *error) {
}];
}
@end
+++++++基础请求
#import <Foundation/Foundation.h>
typedef void(^SuccessBlock) (NSURLSessionDataTask *task,
id responseObject);
typedef void(^FailureBlock) (NSURLSessionDataTask *task,
NSError *error);
@interface WofuRequest :
NSObject
+(void)RegistRequestWithUrl:(NSString *)url
params:(NSDictionary *)params
successBlock:(SuccessBlock)successBlock
failureBlock:(FailureBlock)failureBlock;
@end
*******************
#import "WofuRequest.h"
#import "AFNetworking.h"
@implementation WofuRequest
+(void)RegistRequestWithUrl:(NSString *)url
params:(NSDictionary *)params
successBlock:(SuccessBlock)successBlock
failureBlock:(FailureBlock)failureBlock{
// AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//待超时时间
NSURLSessionConfiguration *config = [NSURLSessionConfiguration
defaultSessionConfiguration];
config.timeoutIntervalForRequest = 50.0;
AFHTTPSessionManager *manager = [[AFHTTPSessionManager
alloc] initWithSessionConfiguration:config];
manager.securityPolicy = [AFSecurityPolicy
policyWithPinningMode:AFSSLPinningModeNone];//安全策略
manager.securityPolicy.allowInvalidCertificates =
YES;
manager.responseSerializer.acceptableContentTypes=[NSSet
setWithObjects:@"application/json",
@"text/json", @"text/javascript",@"text/html",@"text/xml",
@"text/plain; charset=utf-8",
nil];
manager.responseSerializer = [AFHTTPResponseSerializer
serializer];
[manager POST:url
parameters:params
progress:nil
success:^(NSURLSessionDataTask *
_Nonnull task, id
_Nullable responseObject) {
if (successBlock) {
NSDictionary *dict=[NSJSONSerialization
JSONObjectWithData:responseObject
options:NSJSONReadingAllowFragments
error:nil];
successBlock(task,dict);
}
} failure:^(NSURLSessionDataTask *
_Nullable task,
NSError * _Nonnull error) {
NSLog(@"错误信息:\n%@",[error
description]);
if(failureBlock){
failureBlock(task,error);
}
}];
}
@end
+++++++++++++调用
[WofuTotalRequest
registWithPhoneNumber:phoneNumber
password:password
agent:agent successBlock:^(NSString *msg,
id responseObject) {
if(responseObject){
NSLog(@"注册%@",responseObject);
}
} failureBlock:^(NSString *msg,
NSInteger errorCode) {
}];
#import <Foundation/Foundation.h>
typedef void(^SuccessHandleBlock) (NSString *msg,
id responseObject);
typedef void(^FailureHandleBlock) (NSString *msg,
NSInteger errorCode);
@interface WofuTotalRequest :
NSObject
//注册
+(void)registWithPhoneNumber:(NSString *)phoneNumber password:(NSString
*)password agent:(NSString *)agent successBlock:(SuccessHandleBlock)successBlock failureBlock:(FailureHandleBlock)failureBlock;
//绑定借记卡
+(void)bindDebirCardRequest:(NSString *)phoneNumber identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock;
//绑定贷记卡
+(void)bindCreditCardRequest:(NSString *)validDate identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock;
@end
************
#import "WofuTotalRequest.h"
#import "WofuRequest.h"
@implementation WofuTotalRequest
//注册
+(void)registWithPhoneNumber:(NSString *)phoneNumber password:(NSString
*)password agent:(NSString *)agent successBlock:(SuccessHandleBlock)successBlock failureBlock:(FailureHandleBlock)failureBlock{
NSString *url=[@"http://192.168.1.35:1111/test/users"
stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet
URLQueryAllowedCharacterSet]];
NSDictionary *params=@{
@"mobile": phoneNumber,
@"password":password,
@"agent": agent
};
[WofuRequest
RegistRequestWithUrl:url
params:params successBlock:^(NSURLSessionDataTask *task,
id responseObject) {
if(responseObject){
NSLog(@"注册成功%@---error%@",responseObject,responseObject[@"error"]);
successBlock(@"success",responseObject);
}
} failureBlock:^(NSURLSessionDataTask *task,
NSError *error) {
}];
}
//绑定借记卡
+(void)bindDebirCardRequest:(NSString *)phoneNumber identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock{
NSString *url=[@"http://192.168.1.35:1111/test/cards/1"
stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet
URLQueryAllowedCharacterSet]];
NSDictionary *params=@{
@"mobile": phoneNumber,
@"card_num":debitCard,
@"id_num": identifierCard,
@"name":name
};
[WofuRequest
RegistRequestWithUrl:url
params:params successBlock:^(NSURLSessionDataTask *task,
id responseObject) {
if(responseObject){
NSLog(@"绑定借记卡成功%@---error%@",responseObject,responseObject[@"error"]);
successBlock(@"success",responseObject);
}
} failureBlock:^(NSURLSessionDataTask *task,
NSError *error) {
}];
}
//绑定贷记卡
+(void)bindCreditCardRequest:(NSString *)validDate identifierCard:(NSString
*)identifierCard name:(NSString *)name debitCard:(NSString *)debitCard successBlock:(SuccessHandleBlock)successBlock
failureBlock:(FailureHandleBlock)failureBlock{
NSString *url=[@"http://192.168.1.35:1111/test/cards/2"
stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet
URLQueryAllowedCharacterSet]];
NSDictionary *params=@{
// @"mobile": phoneNumber,
@"card_num":debitCard,
@"id_num": identifierCard,
@"name":name,
@"valid_date":validDate
};
[WofuRequest
RegistRequestWithUrl:url
params:params successBlock:^(NSURLSessionDataTask *task,
id responseObject) {
if(responseObject){
NSLog(@"绑定贷记卡成功%@---error%@",responseObject,responseObject[@"error"]);
successBlock(@"success",responseObject);
}
} failureBlock:^(NSURLSessionDataTask *task,
NSError *error) {
}];
}
@end
+++++++基础请求
#import <Foundation/Foundation.h>
typedef void(^SuccessBlock) (NSURLSessionDataTask *task,
id responseObject);
typedef void(^FailureBlock) (NSURLSessionDataTask *task,
NSError *error);
@interface WofuRequest :
NSObject
+(void)RegistRequestWithUrl:(NSString *)url
params:(NSDictionary *)params
successBlock:(SuccessBlock)successBlock
failureBlock:(FailureBlock)failureBlock;
@end
*******************
#import "WofuRequest.h"
#import "AFNetworking.h"
@implementation WofuRequest
+(void)RegistRequestWithUrl:(NSString *)url
params:(NSDictionary *)params
successBlock:(SuccessBlock)successBlock
failureBlock:(FailureBlock)failureBlock{
// AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//待超时时间
NSURLSessionConfiguration *config = [NSURLSessionConfiguration
defaultSessionConfiguration];
config.timeoutIntervalForRequest = 50.0;
AFHTTPSessionManager *manager = [[AFHTTPSessionManager
alloc] initWithSessionConfiguration:config];
manager.securityPolicy = [AFSecurityPolicy
policyWithPinningMode:AFSSLPinningModeNone];//安全策略
manager.securityPolicy.allowInvalidCertificates =
YES;
manager.responseSerializer.acceptableContentTypes=[NSSet
setWithObjects:@"application/json",
@"text/json", @"text/javascript",@"text/html",@"text/xml",
@"text/plain; charset=utf-8",
nil];
manager.responseSerializer = [AFHTTPResponseSerializer
serializer];
[manager POST:url
parameters:params
progress:nil
success:^(NSURLSessionDataTask *
_Nonnull task, id
_Nullable responseObject) {
if (successBlock) {
NSDictionary *dict=[NSJSONSerialization
JSONObjectWithData:responseObject
options:NSJSONReadingAllowFragments
error:nil];
successBlock(task,dict);
}
} failure:^(NSURLSessionDataTask *
_Nullable task,
NSError * _Nonnull error) {
NSLog(@"错误信息:\n%@",[error
description]);
if(failureBlock){
failureBlock(task,error);
}
}];
}
@end
+++++++++++++调用
[WofuTotalRequest
registWithPhoneNumber:phoneNumber
password:password
agent:agent successBlock:^(NSString *msg,
id responseObject) {
if(responseObject){
NSLog(@"注册%@",responseObject);
}
} failureBlock:^(NSString *msg,
NSInteger errorCode) {
}];
相关文章推荐
- iOS安全之二次封装AFN并设置请求头/执行HTTPS加强安全
- iOS菜鸟之AFN的二次封装
- iOS AFN的再次封装
- iOS之AFN常用封装(三)
- iOS开发总结之block回调以AFN为基础封装的网络请求操作类
- IOS AFN请求封装使用
- iOS - 简述二次封装AFN,设置请求头,https安全策略
- iOS - 基于AFN的工具类以及多张图片上传的封装
- iOS AFN 封装数据
- iOS AFN 封装POST网络请求(AFURLSessionManager)
- iOS - 利用AFN检测网络状态的类封装
- iOS AFN监听网络,封装网络请求 —— HERO博客
- (iOS-框架封装)AFN3.x 网络请求封装
- iOS AFN 封装POST网络请求(AFURLSessionManager) (续一) upload表单提交方法
- IOS开发之—— 在AFN基础上进行的网络请求的封装
- ios开发如何封装AFN第三方类库中的http请求
- ios 基于AFN的二次封装
- iOS 十六进制背景颜色封装
- iOS 对基于AFNetworking框架网络请求的简单封装
- iOS支付宝,微信,银联支付集成封装调用(下)