//初始化 AFHTTPSessionManager
- (instancetype)init {
if(self = [superinitWithBaseURL:[NSURLURLWithString:URELHEAD]]) {//请求的链接头
self.securityPolicy = [AFSecurityPolicypolicyWithPinningMode:AFSSLPinningModeNone];
self.requestSerializer = [AFHTTPRequestSerializerserializer];
self.responseSerializer = [AFJSONResponseSerializerserializer];//默认返回的是dictionary
self.requestSerializer.timeoutInterval = 30;
}
returnself;
}
//根据请求的类型进行不同的操作
case TYPE_GET: {
[selfGET:url parameters:dicprogress:nilsuccess:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {
}];
}
break;
caseTYPE_POST: {
[selfPOST:url parameters:dicprogress:nilsuccess:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) {
[
} failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {
}];
}
break;
caseTYPE_DOWNLOAD: {//下载文件
NSURLSessionDownloadTask *task
= [ self downloadTaskWithRequest :[ NSURLRequest requestWithURL :[ NSURL URLWithString :url]] progress : nil destination :^ NSURL * _Nonnull ( NSURL * _Nonnull targetPath, NSURLResponse * _Nonnull response) {NSString *path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:response.suggestedFilename];//下载文件的存储目录
return [NSURLfileURLWithPath:path];
} completionHandler:^(NSURLResponse *_Nonnull response, NSURL * _Nullable filePath,NSError * _Nullable error) {
}];
[task resume];
}
break;
caseTYPE_UPLOAD: {//上传文件
[selfPOST:url parameters:dicconstructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
if(nil != fdic) {//单个或多个文件上传
for(NSString *keyin [fdic allKeys]) {
NSString *filePath = [fdicobjectForKey:key];
[formData appendPartWithFileURL:[NSURLfileURLWithPath:filePath]name:key error:nil];
}
}
} progress:nilsuccess:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) {
}];
}
break;
default:
break;