This commit is contained in:
2022-03-21 11:16:38 +08:00
commit e89e807c64
1040 changed files with 284164 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
//
// AFNPhalApiClient.h
// PhalApiClientDemo
//
// Created by Aevit on 15/10/18.
// Copyright © 2015年 Aevit. All rights reserved.
//
#import "PhalApiClient.h"
#import "AFHTTPRequestOperationManager.h"
@interface AFNPhalApiClient : PhalApiClient
@end

View File

@@ -0,0 +1,101 @@
//
// AFNPhalApiClient.m
// PhalApiClientDemo
//
// Created by Aevit on 15/10/18.
// Copyright © 2015 Aevit. All rights reserved.
//
#import "AFNPhalApiClient.h"
#import "PhalApiClientFilter.h"
@implementation AFNPhalApiClient
#pragma mark - generate a client
/**
*
*
* @return PhalApiClient
*/
+ (AFNPhalApiClient*)sharedClient {
static AFNPhalApiClient *_sharedClient;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedClient = [[AFNPhalApiClient alloc] init];
});
return _sharedClient;
}
/**
*
*
* @return PhalApiClient
*/
+ (AFNPhalApiClient*)create {
AFNPhalApiClient *client = [[AFNPhalApiClient alloc] init];
return client;
}
#pragma mark - request
/**
* POST
*
* @param completeBlock
* @param failureBlock
*
* @return
*/
- (id)request:(HttpCompleteBlock)completeBlock failureBlock:(HttpFailureBlock)failureBlock {
return [self requestWithFormDataBlock:nil completeBlock:completeBlock failureBlock:failureBlock];
}
/**
* ()
*
* @param formDataBlock
* @param completeBlock
* @param failureBlock
*
* @return
*/
- (id)requestWithFormDataBlock:(FormDataBlock)formDataBlock completeBlock:(HttpCompleteBlock)completeBlock failureBlock:(HttpFailureBlock)failureBlock {
if (self.filter) {
//
[self.filter filter:self.service params:self.params];
}
NSString *url = self.host;
if (self.service && self.service.length > 0) {
// serviceGETurlPOST
url = [NSString stringWithFormat:@"%@?service=%@", self.host, self.service];
}
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"text/plain", @"text/json", @"text/xml", nil];
manager.requestSerializer.timeoutInterval = self.timeout;
AFHTTPRequestOperation *operation = [manager POST:url parameters:self.params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
if (formDataBlock) {
formDataBlock(formData);
}
} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
// JSONXMLgoogle"AFNetworking XML"
if (completeBlock) {
completeBlock(responseObject);
}
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
if (error.code == NSURLErrorTimedOut) {
NSDictionary *timeoutDict = @{@"ret": @408, @"data": @{}, @"msg": @"Request Timeout"};
failureBlock(timeoutDict);
return ;
}
if (failureBlock) {
failureBlock(error);
}
}];
return operation;
}
@end