您的位置:首页 > 移动开发 > IOS开发

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) {

    

    }];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: