//初始化AFHTTPSessionManager
- (instancetype)init {
if(self= [superinitWithBaseURL:[NSURLURLWithString:URELHEAD]]) {//請求的鏈接頭
self.securityPolicy= [AFSecurityPolicypolicyWithPinningMode:AFSSLPinningModeNone];
self.requestSerializer= [AFHTTPRequestSerializerserializer];
self.responseSerializer= [AFJSONResponseSerializerserializer];//默認返回的是dictionary
self.requestSerializer.timeoutInterval=30;
}
returnself;
}
//根據請求的類型進行不同的操作
caseTYPE_GET: {
[selfGET:urlparameters:dicprogress:nilsuccess:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {
}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {
}];
}
break;
caseTYPE_POST: {
[selfPOST:urlparameters:dicprogress:nilsuccess:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {
[
}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {
}];
}
break;
caseTYPE_DOWNLOAD: {//下載文件
NSURLSessionDownloadTask*task
= [selfdownloadTaskWithRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:url]]progress:nildestination:^NSURL*_Nonnull(NSURL*_NonnulltargetPath,NSURLResponse*_Nonnullresponse) {
NSString*path = [[NSHomeDirectory()stringByAppendingPathComponent:@"Documents"]stringByAppendingPathComponent:response.suggestedFilename];//下載文件的存儲目錄
return[NSURLfileURLWithPath:path];
}completionHandler:^(NSURLResponse*_Nonnullresponse,NSURL*_NullablefilePath,NSError*_Nullableerror) {
}];
[taskresume];
}
break;
caseTYPE_UPLOAD: {//上傳文件
[selfPOST:urlparameters:dicconstructingBodyWithBlock:^(id_NonnullformData) {
if(nil!= fdic) {//單個或多個文件上傳
for(NSString*keyin[fdicallKeys]) {
NSString*filePath = [fdicobjectForKey:key];
[formDataappendPartWithFileURL:[NSURLfileURLWithPath:filePath]name:keyerror:nil];
}
}
}progress:nilsuccess:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {
}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {
}];
}
break;
default:
break;