From caccf34369c5bb7c26c32f266d6726bde218cad6 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 02 三月 2021 13:19:12 +0800 Subject: [PATCH] 2021-03-02 1.封装网络请求方法 --- Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.m | 187 ++-------------------------------------------- 1 files changed, 9 insertions(+), 178 deletions(-) diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.m index de120e6..c813e1e 100644 --- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.m +++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.m @@ -18,16 +18,9 @@ #import "EZPlaybackViewController.h" #import "EZDeviceTableViewController.h" #import "EZHCNetDeviceSDK.h" -#import "AFNetworking.h" -#import <Foundation/Foundation.h> -#import <CommonCrypto/CommonDigest.h> - -#define API_POST_EZ_AddDevice @"/home-wisdom/platform/child/device/add" -#define API_POST_EZ_GetChildToken @"/home-wisdom/platform/childToken" -#define APP_KEY @"HDL-HOME-APP-TEST" -#define SECRET_KEY @"WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss" + @implementation EZSDK @@ -68,7 +61,14 @@ [EZOPENSDK setAccessToken:accessToken]; } - +/** + 璁剧疆HDLSDK鐨刟ccessToken + */ ++(void)setHDlAccessToken:(NSString *) accessToken refreshToken:(NSString *) refreshToken +{ + [[GlobalKit shareKit] setHdlAccessToken:accessToken]; + [[GlobalKit shareKit] setHdlRefreshToken:refreshToken]; +} //鑾峰彇褰撳墠灞忓箷鏄剧ず鐨剉iewcontroller (杩欓噷闈㈣幏鍙栫殑鐩稿綋浜巖ootViewController) +(UINavigationController *)getCurrentVC @@ -288,175 +288,6 @@ // } //} -#pragma mark -鎺ュ彛璇锋眰閮ㄥ垎 -/** - * @since 娌充笢鑾峰彇瀛愯处鍙穞oken鐨勬帴鍙� - * - * @param block 鍥炶皟block - */ -+ (NSURLSessionDataTask *)getChildToken:(void (^)(NSString *accessToken))block{ - //1,鍒涘缓浣犲緱璇锋眰url - NSString *URL = @""; - if([GlobalKit shareKit].GlobalRequestHttpsHost == NULL){ - URL = @"https://test-gz.hdlcontrol.com"; - } - URL = [NSString stringWithFormat:@"%@%@", URL, API_POST_EZ_GetChildToken]; - - //2.璁剧疆璇锋眰鍙傛暟 - NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; - parameters = [self GetSignRequestDictionary:parameters]; - - NSURLSessionDataTask*task=nil; - AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; - AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer]; - manager.responseSerializer = responseSerializer; - - NSMutableURLRequest * request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"post" URLString:URL parameters:parameters error:nil]; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; - [request setValue:GlobalKit.shareKit.hdlAccessToken forHTTPHeaderField:@"Authorization"]; - - [[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { - - //4.瑙f瀽鎷垮埌鐨勫搷搴旀暟鎹� - NSLog(@"%@",[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]); - - if (block) { - NSString * token = @""; - block (token); - } - }]resume]; - return task; - - -} -/** - * @since 娌充笢娣诲姞璁惧鐨勬帴鍙� - * 鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙� - * - * @param deviceSerial 璁惧搴忓垪鍙� - * @param verifyCode 璁惧楠岃瘉鐮� - * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔� - * - * @return operation - */ -+ (NSURLSessionDataTask *)addDeviceByHDL:(NSString *)deviceSerial - verifyCode:(NSString *)verifyCode - completion:(void (^)(NSError *error))completion{ - - //1,鍒涘缓浣犲緱璇锋眰url - NSString *URL = @""; - if([GlobalKit shareKit].GlobalRequestHttpsHost == NULL){ - URL = @"https://test-gz.hdlcontrol.com"; - } - URL = [NSString stringWithFormat:@"%@%@",URL, @"/smart-footstone/region/regionByAccount"]; - - //2.璁剧疆璇锋眰鍙傛暟 - NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; - // [parameters setValue:deviceSerial forKey:@"deviceSerial"]; - // [parameters setValue:verifyCode forKey:@"verifyCode"]; - // parameters[@"deviceSerial"] = deviceSerial; - // parameters[@"verifyCode"] = verifyCode; - parameters[@"account"] = @"18824864143"; - -// parameters = [self GetSignRequestDictionary:parameters]; - - NSURLSessionDataTask*task=nil; - AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]]; - AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer]; - manager.responseSerializer = responseSerializer; - - NSMutableURLRequest * request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"post" URLString:URL parameters:parameters error:nil]; - [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; - [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; - - [[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) { - - // //鎷垮埌鍝嶅簲澶翠俊鎭� - // NSHTTPURLResponse *res = (NSHTTPURLResponse *)response; - - //4.瑙f瀽鎷垮埌鐨勫搷搴旀暟鎹� - NSLog(@"%@",[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]); - - if (completion) { -// error.code = 105002; - completion (error); - } - }]resume]; - return task; -} -#pragma mark HttpUtil -/** - * 鍩虹鏈嶅姟鐨勬帴鍙i兘瑕佹牎楠宻ign - */ -+(NSMutableDictionary *)GetSignRequestDictionary:(NSMutableDictionary *)params{ - if(params == NULL){ - params =[NSMutableDictionary dictionary]; - } - UInt64 recordTime = [[NSDate date] timeIntervalSince1970]*1000; - [params setValue:APP_KEY forKey:@"appKey"]; - [params setValue:[NSString stringWithFormat:@"%llu",recordTime] forKey:@"timestamp"]; - //1.瀵筀EY鍗囧簭 - NSArray *keyArray = [params allKeys]; - NSArray *sortKeyArray = [keyArray sortedArrayUsingComparator:^NSComparisonResult(id _Nonnull obj1, id _Nonnull obj2) { - return [obj1 compare:obj2 options:NSNumericSearch]; - }]; - //2.2 鎷兼帴鎸塙RL閿�煎 - NSString *newString = @""; - for(NSString *key in sortKeyArray){ - if(params[key] != NULL){ - NSString *valueStr = params[key]; - //妫�娴嬪綋鍓嶅弬鏁版槸鍚﹂渶瑕佸弬涓庢牎楠� - if([self IfValueNeedSign:valueStr]){ - newString = [newString stringByAppendingString:[NSString stringWithFormat:@"%@=%@&", key,valueStr]]; - } - } - } - //2.3 鎷兼帴SECRET_KEY - newString = [newString substringToIndex:[newString length] - 1]; - newString = [newString stringByAppendingString: SECRET_KEY]; - //2.4 MD5杞崲+杞皬鍐� - if(newString == nil || newString == NULL){ - newString = @""; - } - NSString* signstr = [self signMD5Encrypt:newString]; - [params setValue:signstr forKey:@"sign"]; - - return params; -} - -/** - MD5杞崲+杞皬鍐� - */ -+ (NSString*)signMD5Encrypt:(NSString *)str -{ - const char *cStr = [str UTF8String]; - unsigned char digest[CC_MD5_DIGEST_LENGTH]; - CC_MD5( cStr, strlen(cStr),digest ); - NSMutableString *result = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; - for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) - [result appendFormat:@"%02x", digest[i]]; - return result; - - -} - -/// <summary> -/// 鍒ゆ柇褰撳墠鍊兼槸鍚﹂渶瑕佸弬涓庣鍚嶏紝淇濇寔璺熶簯绔竴鑷� -/// 绌哄瓧绗︿覆涓嶅弬涓� -/// 鏁扮粍,闆嗗悎,瀵硅薄涓嶅弬涓� -/// </summary> -/// <param name="valueStr"></param> -/// <returns></returns> -+(bool)IfValueNeedSign:(NSString *)valueStr{ - if (( (valueStr == nil || [valueStr isKindOfClass:[NSNull class]] || valueStr.length == 0))//鍒ょ┖瀛楃 - || ([[valueStr substringToIndex:1] isEqual:@"{"])//鍒ゆ柇鏄惁涓哄璞� - || ([[valueStr substringToIndex:1] isEqual:@"["])//鍒ゆ柇鏄惁涓烘暟缁� - ) { - return false; - } - return true; -} @end -- Gitblit v1.8.0