自己又封装了一下AFN,方便使用。
//
// NetWorkTool.m
// lingfo
//
// Created by limin on 16/4/26.
// Copyright © 2016年 anxin. All rights reserved.
//
#import "NetWorkTool.h"
#import "AFNetworking.h"
@class NetWorkTool;
@implementation NetWorkTool
+ (void)NetRequestWithBaseURL:(NSString*)baseURL andAppendURL:(NSString*)url
RequestWay:(NSString*)way
Parameters:(id)parameters
finished:(void (^)(id data))finished
failure:(void (^)(NSError* error))failure
{
// 1.请求管理器
// AFNetworkReachabilityManager
AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];
sessionManager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"text/plain", nil];
//2.取token(项目中的应用)
NSString *cookiesdata = [[NSUserDefaults standardUserDefaults] valueForKey:Token]?[[NSUserDefaults standardUserDefaults] valueForKey:Token]:@"";
//3.传tooken
[sessionManager.requestSerializer setValue:cookiesdata forHTTPHeaderField:Token];
//4.请求的URL
NSString* urlPath = [baseURL stringByAppendingString:url];
// NSString *urlPath = [baseURL stringByAppendingFormat:@"%@",url];
//5.发起请求
if ([way isEqualToString:@"POST"]) {
[sessionManager POST:urlPath parameters:parameters progress:^(NSProgress * _Nonnull uploadProgress) {
NSLog(@"%lld", uploadProgress.totalUnitCount);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
finished(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failure(error);
}];
}else if ([way isEqualToString:@"GET"]) {
[sessionManager GET:urlPath parameters:parameters progress:^(NSProgress * _Nonnull downloadProgress) {
NSLog(@"%lld", downloadProgress.totalUnitCount);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
finished(responseObject);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
failure(error);
}];
}
}
- (void)NetRequestWithBaseURL:(NSString*)baseURL andAppendURL:(NSString*)url
RequestWay:(NSString*)way
Parameters:(id)parameters
finished:(void (^)(id data))finished
failure:(void (^)(NSError* error))failure
{
[NetWorkTool NetRequestWithBaseURL:baseURL andAppendURL:url RequestWay:way Parameters:parameters finished:finished failure:failure];
}
@end