Skip to content

Commit

Permalink
[feature] 优化代码
Browse files Browse the repository at this point in the history
  • Loading branch information
indulgeIn committed Aug 20, 2019
1 parent 10f27eb commit f056d0c
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 22 deletions.
1 change: 1 addition & 0 deletions YBNetwork.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Pod::Spec.new do |s|
s.source_files = "YBNetwork/**/*.{h,m}"

s.dependency 'AFNetworking'
s.dependency 'YYCache', '~>1.0.4'

s.requires_arc = true

Expand Down
5 changes: 4 additions & 1 deletion YBNetwork/Manger/YBBaseRequest+Internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ NS_ASSUME_NONNULL_BEGIN
- (NSString *)requestMethodString;

/// 请求 URL 字符串
- (NSString *)requestURLString;
- (NSString *)validRequestURLString;

/// 请求参数字符串
- (id)validRequestParameter;

@end

Expand Down
20 changes: 2 additions & 18 deletions YBNetwork/Manger/YBNetworkManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,8 @@ - (NSNumber *)startNetworkingWithRequest:(YBBaseRequest *)request uploadProgress
// 构建网络请求数据
NSString *method = [request requestMethodString];
AFHTTPRequestSerializer *serializer = [self requestSerializerForRequest:request];
NSString *URLString = [self URLStringForRequest:request];
id parameter = [self parameterForRequest:request];
NSString *URLString = [request validRequestURLString];
id parameter = [request validRequestParameter];

// 构建 URLRequest
NSError *error = nil;
Expand Down Expand Up @@ -175,22 +175,6 @@ - (AFHTTPRequestSerializer *)requestSerializerForRequest:(YBBaseRequest *)reques
return serializer;
}

- (NSString *)URLStringForRequest:(YBBaseRequest *)request {
NSString *URLString = [request requestURLString];
if ([request respondsToSelector:@selector(yb_preprocessURLString:)]) {
URLString = [request yb_preprocessURLString:URLString];
}
return URLString;
}

- (id)parameterForRequest:(YBBaseRequest *)request {
id parameter = request.requestParameter;
if ([request respondsToSelector:@selector(yb_preprocessParameter:)]) {
parameter = [request yb_preprocessParameter:parameter];
}
return parameter;
}

- (AFHTTPSessionManager *)sessionManagerForRequest:(YBBaseRequest *)request {
AFHTTPSessionManager *manager = request.sessionManager;
if (!manager) {
Expand Down
15 changes: 13 additions & 2 deletions YBNetwork/YBBaseRequest.m
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ - (void)clearRequestBlocks {
}

- (NSString *)requestIdentifier {
NSString *identifier = [NSString stringWithFormat:@"%@-%@%@", [self requestMethodString], [self requestURLString], [self stringFromParameter:self.requestParameter]];
NSString *identifier = [NSString stringWithFormat:@"%@-%@%@", [self requestMethodString], [self validRequestURLString], [self stringFromParameter:[self validRequestParameter]]];
return identifier;
}

Expand Down Expand Up @@ -310,12 +310,23 @@ - (NSString *)requestMethodString {
}
}

- (NSString *)requestURLString {
- (NSString *)validRequestURLString {
NSURL *baseURL = [NSURL URLWithString:self.baseURI];
NSString *URLString = [NSURL URLWithString:self.requestURI relativeToURL:baseURL].absoluteString;
if ([self respondsToSelector:@selector(yb_preprocessURLString:)]) {
URLString = [self yb_preprocessURLString:URLString];
}
return URLString;
}

- (id)validRequestParameter {
id parameter = self.requestParameter;
if ([self respondsToSelector:@selector(yb_preprocessParameter:)]) {
parameter = [self yb_preprocessParameter:parameter];
}
return parameter;
}

#pragma mark - getter

- (YBNetworkCache *)cacheHandler {
Expand Down
8 changes: 7 additions & 1 deletion YBNetworkDemo/TestCase/TestViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,18 @@ - (void)clickButton:(UIButton *)button {
- (void)searchA {

DefaultServerRequest *request = [DefaultServerRequest new];
request.cacheHandler.writeMode = YBNetworkCacheWriteModeMemoryAndDisk;
request.cacheHandler.readMode = YBNetworkCacheReadModeAlsoNetwork;
request.requestMethod = YBRequestMethodGET;
request.requestURI = @"charconvert/change.from";
request.requestParameter = @{@"key":@"0e27c575047e83b407ff9e517cde9c76", @"type":@"2", @"text":@"呵呵呵呵"};

__weak typeof(self) weakSelf = self;
[request startWithSuccess:^(YBNetworkResponse * _Nonnull response) {
[request startWithCache:^(YBNetworkResponse * _Nonnull response) {
__strong typeof(weakSelf) self = weakSelf;
if (!self) return;
NSLog(@"\ncache success : %@", response.responseObject);
} success:^(YBNetworkResponse * _Nonnull response) {
__strong typeof(weakSelf) self = weakSelf;
if (!self) return;
NSLog(@"\nresponse success : %@", response.responseObject);
Expand Down

0 comments on commit f056d0c

Please sign in to comment.