可用於登錄,註冊,修改密碼,得到手機驗證碼。html
首先導入AFN第三方庫網絡
NetWorkTool.hatom
// NetWorkTool.h // 網絡請求 // // Created by 丁雲飛 on 15/11/8. // Copyright © 2015年 DLS. All rights reserved. // #import <Foundation/Foundation.h> #import "AFNetworking.h" @protocol netWorkToolDelegate<NSObject> @optional /************************得到手機驗證碼*****************teg == 1*/ -(void)requestSucceedGetData:(NSDictionary *)dict;//成功得到手機驗證碼調用dict返回數據 -(void)requestFailure;//失敗時調用 /************************登錄*************************teg == 2*/ -(void)loginSucceedGetData:(NSDictionary *)dict;//登錄成功 -(void)loginFailure;//登錄失敗 /***********************註冊*************************teg == 3*/ -(void)registSucceedGetData:(NSDictionary *)dict;//註冊發送成功調用; -(void)registFailure;//註冊失敗; /***********************修改密碼**********************teg == 4*/ -(void)updataSeccretSucceedGetData:(NSDictionary *)dict;//修改請求發送成功過 -(void)updataSeccretFailure;//失敗 @end @interface NetWorkTool : NSObject { AFHTTPRequestOperationManager *_managerr; AFNetworkReachabilityManager *_afNetworkReach; } @property (nonatomic, strong)id<netWorkToolDelegate>delegate; + (NetWorkTool *)shareNetWorkJieXi; /** *POST用於登錄,註冊,修改密碼 */ #pragma mark -- 代理傳值 -(void)PostRequestWithUrl:(NSString *)urlStr WithDict:(NSDictionary *)dict WithInteger:(NSInteger)teg; -(void)GETRequestWithUrl:(NSString *)urlStr WithDict:(NSDictionary *)dict; #pragma mark -- block形式傳值 -(void)PostRequestWithurl:(NSString *)urlStr WithDict:(NSDictionary *)dict Success:(void(^)(id data))successd Failure:(void(^)(NSError *err))failure; -(void)GetRequestWithurl:(NSString *)urlStr WlthDict:(NSDictionary *)dict Success:(void(^)(id data))successed Failure:(void(^)(NSError *err))failure; @end
NetWorkTool.murl
// Created by 丁雲飛 on 15/11/8. // Copyright © 2015年 DLS. All rights reserved. // #import "NetWorkTool.h" #import "AFNetworking.h" @interface NetWorkTool() //@property (nonatomic, retain)AFHTTPRequestOperationManager *managerr; @end @implementation NetWorkTool + (NetWorkTool *)shareNetWorkJieXi{ static NetWorkTool *sumbloo; static dispatch_once_t onceSumBToken; dispatch_once(&onceSumBToken, ^{ sumbloo = [[NetWorkTool alloc] init]; }); return sumbloo; } - (id)init{ self = [super init]; if(self){ _managerr = [AFHTTPRequestOperationManager manager]; _managerr.requestSerializer = [AFHTTPRequestSerializer serializer]; _managerr.responseSerializer = [AFHTTPResponseSerializer serializer]; //managerr.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"image/jpeg",@"text/html", nil]; _afNetworkReach = [AFNetworkReachabilityManager sharedManager]; } return self; } #pragma mark -- 代理傳值 /** * POST請求 * * @param urlStr 接口地址 * @param dict 字典 * @param teg 區分不一樣請求 */ -(void)PostRequestWithUrl:(NSString *)urlStr WithDict:(NSDictionary *)dict WithInteger:(NSInteger)teg{ //開啓線程 [self start]; [_managerr POST:urlStr parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) { NSDictionary *jiexiDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; NSDictionary *dict=[jiexiDic objectForKey:@"data"]; switch (teg) { case 1: [self.delegate requestSucceedGetData:dict];//得到驗證碼成功 break; case 2: [self.delegate loginSucceedGetData:dict];//登錄成功 break; case 3: [self.delegate registSucceedGetData:dict];//註冊成功 break; case 4: [self.delegate updataSeccretSucceedGetData:dict];//修改密碼成功 default: break; } } failure:^(AFHTTPRequestOperation *operation, NSError *error) { switch (teg) { case 1: [self.delegate requestFailure]; break; case 2: [self.delegate loginFailure]; break; case 3: [self.delegate registFailure]; break; case 4: [self.delegate updataSeccretFailure]; default: break; } }]; } /* *GET */ -(void)GETRequestWithUrl:(NSString *)urlStr WithDict :(NSDictionary *)dict{ [_managerr GET:urlStr parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) { NSDictionary *jiexiDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil]; NSDictionary *dict=[jiexiDic objectForKey:@"data"]; [self.delegate requestSucceedGetData:dict];//得到驗證碼成功 // [self.delegate loginSucceedGetData:dict];//登錄成功 // // [self.delegate registSucceedGetData:dict];//註冊成功 // // [self.delegate updataSeccretSucceedGetData:dict];//修改密碼成功 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [self.delegate requestFailure]; // [self.delegate loginFailure]; // [self.delegate registFailure]; // // [self.delegate updataSeccretFailure]; }]; } #pragma mark -- block傳值 //POST -(void)PostRequestWithurl:(NSString *)urlStr WithDict:(NSDictionary *)dict Success:(void (^)(id data))successd Failure:(void (^)(NSError *))failure{ [_managerr POST:urlStr parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) { successd(responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { failure(error); }]; } //GET -(void)GetRequestWithurl:(NSString *)urlStr WlthDict:(NSDictionary *)dict Success:(void (^)(id))successed Failure:(void (^)(NSError *))failure{ [_managerr GET:urlStr parameters:dict success:^(AFHTTPRequestOperation *operation, id responseObject) { successed(responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { failure(error); }]; } -(void)start{ if ([[_managerr operationQueue] isSuspended]) { [[_managerr operationQueue] setSuspended:NO]; } } @end
有不足支持請你們指出。spa