YGNetwork
示例
要运行示例项目,请首先克隆仓库,然后从 Example 目录运行 pod install
要求
安装
YGNetwork 可通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile
pod 'YGNetwork'
YGNetworkHttpRequest
普通请求,配置基础参数
// 全局配置基础参数
YGNetworkHttpRequest.shared.baseParameters = @{@"type": @"video"};
YGNetworkHttpRequest.shared.baseHeaders = @{@"sss": @"24525"};
YGNetworkHttpRequest.shared.headerLog = YES;
YGNetworkHttpRequest.shared.requestLog = YES;
YGNetworkHttpRequest.shared.responseLog = YES;
id params = @{
@"page": @"1",
@"count": @"2"
};
[YGNetworkHttpRequest.shared yg_method:YGGET url:@"https://api.xxx/xx" parameters:params header:@{@"hh":@"哈哈哈"} success:^(id _Nullable responseObject) {
} failure:^(NSError * _Nonnull error) {
}];
YGNetworkManager
特殊业务处理时,可以继承使用
#import "YGHttpPublicManager.h"
static NSString * const kBaseUrl = @"https://api.xxx.xxx/";
@implementation YGHttpPublicManager
static YGHttpPublicManager *publicHttpManager = nil;
#pragma mark - Init
+ (instancetype)shared {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSURL *baseUrl = [NSURL URLWithString:kBaseUrl];
publicHttpManager = [[[self class] alloc] initWithBaseURL:baseUrl];
});
return publicHttpManager;
}
- (instancetype)initWithBaseURL:(NSURL *)url {
if (self = [super initWithBaseURL:url]) {
// 这里可以配置特殊的SessionManager
// TODO:
self.ygDelegate = self;
self.baseParameters = @{@"type": @"video"};
self.headerLog = YES;
self.requestLog = YES;
self.responseLog = YES;
}
return self;
}
#pragma mark - YGNetworkManagerDelegate
- (BOOL)yg_networkManagerSuccessWithModel:(YGNetworkModel *)networkModel {
// TODO:
// 这里可以根据不同url,不同resonseObj做特殊处理,例如存储token等信息
return YES; // YES表示会继续触发外部成功调用时的block回调
}
- (BOOL)yg_networkManagerFailureWithModel:(YGNetworkModel *)networkModel {
// TODO:
// 这里可以根据不同url,不同resonseObj做特殊处理,例如错误码等
return YES; // YES表示会继续触发外部失败调用时的block回调
}
- (NSDictionary *)yg_networkManagerRequestBeforHeaderUrl:(NSString *)url {
// TODO:
return nil;
}
- (NSDictionary *)yg_networkManagerRequestBeforParameterUrl:(NSString *)url {
if ([url hasPrefix:@"https://api.apiopen.top"]) {
return @{@"count": @"2"};
}
return nil;
}
@end
Author
License
YGNetwork遵循MIT许可证。更多信息请参阅LICENSE文件。