diff --git a/JJNetwork.podspec b/JJNetwork.podspec index d754d4b..4b6785e 100644 --- a/JJNetwork.podspec +++ b/JJNetwork.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| # s.name = "JJNetwork" - s.version = "0.0.5" + s.version = "0.0.6" s.summary = "JJNetwork." # This description is used to generate tags and improve search results. diff --git a/JJNetwork/Source/APIService/APIService.m b/JJNetwork/Source/APIService/APIService.m index 7befd8b..f3c235e 100644 --- a/JJNetwork/Source/APIService/APIService.m +++ b/JJNetwork/Source/APIService/APIService.m @@ -39,13 +39,11 @@ @implementation APIService #pragma mark - Register APIModule + (void)registerDomainIP:(id)module{ - NSDictionary* dic = [module domainIPData]; - [APIServiceManager share].domainIPs = dic; + [APIServiceManager share].domainIPs = module; } + (void)registerHttpHeadField:(id)module{ - NSDictionary* dic = [module customerHttpHead]; - [APIServiceManager share].httpHeadField = dic; + [APIServiceManager share].httpHeadField = module; } @@ -159,7 +157,12 @@ - (BOOL)checkRequestValidity:(APIRequest*)request{ @return New URL */ - (NSString*)replaceDomainIPFromURL:(NSString*)url{ - NSDictionary* ips = [APIServiceManager share].domainIPs; + + if (![[APIServiceManager share].domainIPs respondsToSelector:@selector(domainIPData)]) { + return url; + } + + NSDictionary* ips = [[APIServiceManager share].domainIPs domainIPData]; if (ips.count == 0) { return url; } @@ -177,7 +180,10 @@ - (NSString*)replaceDomainIPFromURL:(NSString*)url{ @param request NSMutableURLRequest */ - (void)addHttpHeadFieldFromRequest:(NSMutableURLRequest**)request{ - NSDictionary* heads = [APIServiceManager share].httpHeadField; + if (![[APIServiceManager share].httpHeadField respondsToSelector:@selector(customerHttpHead)]) { + return; + } + NSDictionary* heads = [[APIServiceManager share].httpHeadField customerHttpHead]; for (NSString* key in heads) { [*request setValue:heads[key] forHTTPHeaderField:key]; } @@ -215,11 +221,12 @@ - (NSDictionary*)signParameterWithKey:(NSDictionary *)para key:(NSString*)key{ //MD5 the all value and contact the timeStamp, //The sign will change every seconds - - [mString appendFormat:@"%d",(int)[[NSDate date] timeIntervalSince1970]]; + NSInteger timestamp = (int)[[NSDate date] timeIntervalSince1970]; + [mString appendFormat:@"%d",timestamp]; NSString* sign = [[NSString stringWithFormat:@"%@%@",mString,key] md5]; dic[@"sign"] = sign; + dic[@"timestamp"] = @(timestamp); return dic; } diff --git a/JJNetwork/Source/APIService/APIServiceManager.h b/JJNetwork/Source/APIService/APIServiceManager.h index e998b2b..af2b2e4 100644 --- a/JJNetwork/Source/APIService/APIServiceManager.h +++ b/JJNetwork/Source/APIService/APIServiceManager.h @@ -7,13 +7,14 @@ // #import +#import "APIModule.h" @interface APIServiceManager : NSObject + (instancetype)share; -@property(nonatomic,readwrite,strong)NSDictionary* domainIPs; +@property(nonatomic,readwrite,weak)id domainIPs; -@property(nonatomic,readwrite,strong)NSDictionary* httpHeadField; +@property(nonatomic,readwrite,weak)id httpHeadField; @end diff --git a/README.md b/README.md index f28860d..566e783 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build Status](https://travis-ci.org/jezzmemo/JJNetwork.svg?branch=master)](https://travis-ci.org/jezzmemo/JJNetwork.svg?branch=master) [![Pod License](http://img.shields.io/cocoapods/l/JJNetwork.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0.html) -AFNetworking-based network library, with delegate to process network response, integrate more business functions and optimize network performance,[Chinese document](https://github.com/jezzmemo/JJNetwork/blob/master/EXPLAIN.md) +AFNetworking-based network library, with delegate to process network response, integrate more business and optimize network performance,[Chinese document](https://github.com/jezzmemo/JJNetwork/blob/master/EXPLAIN.md) ## Features