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.h                                   |   31 --
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.h                               |    3 
 Demo/Demo/EZOpenSDKDemo.xcodeproj/project.pbxproj                                                           |    6 
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.m                               |   30 ++
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceTableViewController.m  |    2 
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.m                                   |  187 --------------
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/ViewController.m                                 |   45 ++-
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceResultViewController.m |   53 ++-
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.m                            |   41 +++
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.h                            |   21 -
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZSettingViewController.m      |   23 +
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.h                              |   38 +++
 Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m                              |  217 +++++++++++++++++
 13 files changed, 431 insertions(+), 266 deletions(-)

diff --git a/Demo/Demo/EZOpenSDKDemo.xcodeproj/project.pbxproj b/Demo/Demo/EZOpenSDKDemo.xcodeproj/project.pbxproj
index a7eaef6..ea55e86 100644
--- a/Demo/Demo/EZOpenSDKDemo.xcodeproj/project.pbxproj
+++ b/Demo/Demo/EZOpenSDKDemo.xcodeproj/project.pbxproj
@@ -317,7 +317,7 @@
 					0D8CF36B1BDF1ABA00A50266 = {
 						CreatedOnToolsVersion = 7.1;
 						DevelopmentTeam = BVTA78PRYA;
-						ProvisioningStyle = Automatic;
+						ProvisioningStyle = Manual;
 						SystemCapabilities = {
 							com.apple.AccessWiFi = {
 								enabled = 0;
@@ -576,7 +576,7 @@
 				CODE_SIGN_ENTITLEMENTS = EZOpenSDKDemo/EZOpenSDK.entitlements;
 				CODE_SIGN_IDENTITY = "Apple Development";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				CODE_SIGN_STYLE = Automatic;
+				CODE_SIGN_STYLE = Manual;
 				CURRENT_PROJECT_VERSION = 200628;
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = BVTA78PRYA;
@@ -608,7 +608,7 @@
 				PRODUCT_BUNDLE_IDENTIFIER = com.hdl.onpro;
 				PRODUCT_NAME = EZOpenSDK;
 				PROVISIONING_PROFILE = "";
-				PROVISIONING_PROFILE_SPECIFIER = "";
+				PROVISIONING_PROFILE_SPECIFIER = "ComHdlOnProDevelopment20210221-1";
 				VALID_ARCHS = "arm64 armv7 armv7s";
 				WRAPPER_EXTENSION = app;
 			};
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.h b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.h
index 9cf0b38..05553ce 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.h
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.h
@@ -7,14 +7,48 @@
 //
 
 #import <Foundation/Foundation.h>
+#import "ResponseData.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
+
+/// 娌充笢鎺ュ彛缃戠粶璇锋眰宸ュ叿绫�
 @interface EZHttpUtil : NSObject
+
+#pragma mark -鎺ュ彛
 /**
- *  鍩虹鏈嶅姟鐨勬帴鍙i兘瑕佹牎楠宻ign
+ *  @since 娌充笢鑾峰彇瀛愯处鍙穞oken鐨勬帴鍙�
+ *
+ *  @param block 鍥炶皟block
  */
-+(NSMutableDictionary *)GetSignRequestDictionary:(NSMutableDictionary *)params;
++ (void)getChildToken:(void (^)(NSString *accessToken))block;
+
+/**
+ *  @since 娌充笢娣诲姞璁惧鐨勬帴鍙�
+ *  鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param verifyCode   璁惧楠岃瘉鐮�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
+ *
+ *  @return operation
+ */
++ (void)addDeviceByHDL:(NSString *)deviceSerial
+                verifyCode:(NSString *)verifyCode
+                completion:(void (^)(ResponseData *responseData))completion;
+
+/**
+ *  @since 娌充笢鍒犻櫎璁惧鐨勬帴鍙�
+ *  鏍规嵁璁惧搴忓垪鍙峰垹闄よ澶囨帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
+ *
+ *  @return operation
+ */
++ (void)deleteDeviceByHDL:(NSString *)deviceSerial completion:(void (^)(ResponseData *responseData))completion;
+
+
 @end
 
 NS_ASSUME_NONNULL_END
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m
index d969a2e..8f37e15 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m
@@ -9,19 +9,228 @@
 #import "EZHttpUtil.h"
 #import <Foundation/Foundation.h>
 #import <CommonCrypto/CommonDigest.h>
+#import "AFNetworking.h"
 
+#pragma mark API
+#define API_POST_EZ_AddDevice @"/home-wisdom/platform/childAddDevice"
+#define API_POST_EZ_GetChildToken @"/home-wisdom/platform/childToken"
+#define API_POST_EZ_ChildDelDevice @"/home-wisdom/platform/childDelDevice"
+#define API_POST_EZ_RefreshToken @"/smart-footstone/member/oauth/login"
+
+
+#pragma mark APP_KEY
 #define APP_KEY @"HDL-HOME-APP-TEST"
 #define SECRET_KEY @"WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"
 
+
 @implementation EZHttpUtil
 
+#pragma mark -鎺ュ彛璇锋眰閮ㄥ垎
 
+
+
+
+
+/**
+ *  @since 娌充笢鑾峰彇瀛愯处鍙穞oken鐨勬帴鍙�
+ *
+ *  @param block 鍥炶皟block
+ */
++ (void)getChildToken:(void (^)(NSString *accessToken))block{
+    
+    //2.璁剧疆璇锋眰鍙傛暟
+    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
+    parameters = [self GetSignRequestDictionary:parameters];
+    
+    [self requestHttpsPost:API_POST_EZ_GetChildToken parameters:parameters completion:^(ResponseData *responseData) {
+        if (block) {
+            NSString * token = @"";
+            if(responseData.success){
+                token = responseData.data[@"accessToken"];
+            }
+            block(token);
+        }
+        
+    }];
+    
+//    return task;
+}
+/**
+ *  @since 娌充笢娣诲姞璁惧鐨勬帴鍙�
+ *  鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param verifyCode   璁惧楠岃瘉鐮�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
+ *
+ *  @return operation
+ */
++ (void)addDeviceByHDL:(NSString *)deviceSerial
+                              verifyCode:(NSString *)verifyCode
+                              completion:(void (^)(ResponseData *responseData))completion{
+
+    //2.璁剧疆璇锋眰鍙傛暟
+    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
+    [parameters setValue:deviceSerial forKey:@"deviceSerial"];
+    [parameters setValue:verifyCode forKey:@"validateCode"];
+    parameters = [self GetSignRequestDictionary:parameters];
+    
+   [self requestHttpsPost:API_POST_EZ_AddDevice parameters:parameters completion:^(ResponseData *responseData) {
+        if (completion) {
+            completion (responseData);
+        }
+    }];
+    
+//    return task;
+}
+
+/**
+ *  @since 娌充笢鍒犻櫎璁惧鐨勬帴鍙�
+ *  鏍规嵁璁惧搴忓垪鍙峰垹闄よ澶囨帴鍙�
+ *
+ *  @param deviceSerial 璁惧搴忓垪鍙�
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
+ *
+ *  @return operation
+ */
++ (void)deleteDeviceByHDL:(NSString *)deviceSerial completion:(void (^)(ResponseData *responseData))completion{
+    //1.璁剧疆璇锋眰鍙傛暟
+    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
+    [parameters setValue:deviceSerial forKey:@"deviceSerial"];
+    parameters = [self GetSignRequestDictionary:parameters];
+    
+    [self requestHttpsPost:API_POST_EZ_ChildDelDevice parameters:parameters completion:^(ResponseData *responseData) {
+        if (completion) {
+            completion (responseData);
+        }
+    }];
+    
+//    return task;
+}
+
+
+
+/// 鍒锋柊token
+/// @param block 缁撴灉
++ (void)refreshHDLToken:(void (^)(BOOL isSuccess))block{
+
+    //1.璁剧疆璇锋眰鍙傛暟
+    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
+    [parameters setValue:GlobalKit.shareKit.hdlRefreshToken forKey:@"refreshToken"];
+    [parameters setValue:@"refresh_token" forKey:@"grantType"];
+    [parameters setValue:@"APP" forKey:@"platform"];
+    
+    parameters = [self GetSignRequestDictionary:parameters];
+    
+    [self requestHttpsBase:API_POST_EZ_RefreshToken parameters:parameters completion:^(ResponseData *responseData) {
+        if (block) {
+            if (responseData) {
+                if(responseData.success){
+                    [EZSDK setHDlAccessToken:
+                     [NSString stringWithFormat:@"%@%@",responseData.data[@"headerPrefix"], responseData.data[@"accessToken"]]
+                                refreshToken:responseData.data[@"refreshToken"]];
+
+                    block(YES);
+                    return;
+                }
+            }
+            block(NO);
+        }
+    }];
+    
+  
+//    return task;
+}
+
+
+#pragma mark HttpUtil
+
+/// 閫氱敤  璇锋眰鏈嶅姟鍣ㄦ柟娉�
+/// @param apiPath 鎺ュ彛鍦板潃
+/// @param parameters 璇锋眰鍙傛暟
+/// @param completion 璇锋眰鍝嶅簲鍙傛暟
++ (void)requestHttpsPost:(NSString *)apiPath
+                                parameters:(NSMutableDictionary *)parameters
+              completion:(void (^)(ResponseData *responseData))completion{
+    
+    [self requestHttpsBase:apiPath parameters:parameters completion:^(ResponseData *responseData) {
+        if (completion) {
+            if([responseData.code isEqual:@"10001"]){
+                //鍒锋柊token
+                [self refreshHDLToken:^(BOOL isSuccess) {
+                    if (isSuccess) {
+                        //鍒锋柊token鎴愬姛锛岄噸鏂拌姹備竴娆�
+                        [self requestHttpsBase:apiPath parameters:parameters completion:^(ResponseData *responseData) {
+                            completion(responseData);
+                            return;
+                        }];
+                    }
+                }];
+            }
+            
+            completion(responseData);
+        }
+    }];
+}
+
+/// 閫氱敤  璇锋眰鏈嶅姟鍣ㄦ柟娉�
+/// @param apiPath 鎺ュ彛鍦板潃
+/// @param parameters 璇锋眰鍙傛暟
+/// @param completion 璇锋眰鍝嶅簲鍙傛暟
++ (void)requestHttpsBase:(NSString *)apiPath
+                                parameters:(NSMutableDictionary *)parameters
+                                completion:(void (^)(ResponseData *responseData))completion{
+    
+    //1,鍒涘缓浣犲緱璇锋眰url
+    NSString *URL = @"";
+    if([GlobalKit shareKit].GlobalRequestHttpsHost == NULL){
+        URL = @"https://test-gz.hdlcontrol.com";
+    }
+    URL = [NSString stringWithFormat:@"%@%@", URL, apiPath];
+    
+//    NSURLSessionDataTask * task=nil;
+    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
+    AFHTTPResponseSerializer *responseSerializer = [AFHTTPResponseSerializer serializer];
+    manager.responseSerializer = responseSerializer;
+      
+    //3.request
+    NSMutableURLRequest * request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"post" URLString:URL parameters:parameters error:nil];
+    request.timeoutInterval = 10.0f;
+    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
+    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
+    [request setValue:GlobalKit.shareKit.hdlAccessToken forHTTPHeaderField:@"Authorization"];
+    //4.dataTaskWithRequest
+    [[manager dataTaskWithRequest:request completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
+        if (completion) {
+            ResponseData *responseData = [[ResponseData alloc] init];
+            responseData.code = @"-1";
+            
+            if(responseObject != NULL){
+                //4.瑙f瀽鎷垮埌鐨勫搷搴旀暟鎹�
+                NSLog(@"%@",[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]);
+                NSDictionary * outDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:nil];
+                responseData = [[ResponseData alloc] initWithDictionary:outDic];
+            }
+            
+            if (!responseData) {
+                responseData = [[ResponseData alloc] init];
+            }
+            completion(responseData);
+        }
+    }]resume];
+//    return task;
+}
+
+/**
+ *  鍩虹鏈嶅姟鐨勬帴鍙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:@"" forKey:@"timestamp"];
+    [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) {
@@ -40,7 +249,7 @@
     }
     //2.3 鎷兼帴SECRET_KEY
     newString = [newString substringToIndex:[newString length] - 1];
-    newString = [ newString stringByAppendingString: SECRET_KEY];
+    newString = [newString stringByAppendingString: SECRET_KEY];
     //2.4 MD5杞崲+杞皬鍐�
     if(newString == nil || newString == NULL){
         newString = @"";
@@ -51,6 +260,9 @@
     return params;
 }
 
+/**
+ MD5杞崲+杞皬鍐�
+ */
 + (NSString*)signMD5Encrypt:(NSString *)str
 {
     const char *cStr = [str UTF8String];
@@ -81,4 +293,5 @@
     return true;
 }
 
+
 @end
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.h b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.h
index 9ae441d..2872116 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.h
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZSDK.h
@@ -7,6 +7,7 @@
 
 #import <Foundation/Foundation.h>
 
+
 @interface EZSDK : NSObject
 /**
  鍒濆鍖朣DK
@@ -17,6 +18,10 @@
  璁剧疆SDK鐨刟ccessToken
  */
 +(void)setEZAccessToken:(NSString *) accessToken;
+/**
+ 璁剧疆HDLSDK鐨刟ccessToken
+ */
++(void)setHDlAccessToken:(NSString *) accessToken refreshToken:(NSString *) refreshToken;
 /**
  鐩存帴璺宠浆鍒拌悿鐭虫憚鍍忓ご鍒楄〃
  */
@@ -37,31 +42,5 @@
  鍥炴斁鎾斁鍘嗗彶
  */
 +(void)playBackVideo:(NSObject*)deviceInfo;
-
-
-#pragma mark -鎺ュ彛
-/**
- *  @since 娌充笢鑾峰彇瀛愯处鍙穞oken鐨勬帴鍙�
- *
- *  @param block 鍥炶皟block
- */
-+ (NSURLSessionDataTask *)getChildToken:(void (^)(NSString *accessToken))block;
-
-/**
- *  @since 娌充笢娣诲姞璁惧鐨勬帴鍙�
- *  鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙�
- *
- *  @param deviceSerial 璁惧搴忓垪鍙�
- *  @param verifyCode   璁惧楠岃瘉鐮�
- *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔�
- *
- *  @return operation
- */
-+ (NSURLSessionDataTask *)addDeviceByHDL:(NSString *)deviceSerial
-                verifyCode:(NSString *)verifyCode
-                completion:(void (^)(NSError *error))completion;
-
-
-
 
 @end
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
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.h b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.h
index be7b56a..959f77a 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.h
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.h
@@ -20,6 +20,7 @@
 
 @property (nonatomic, copy) NSString *GlobalRequestHttpsHost;
 @property (nonatomic, copy) NSString *hdlAccessToken;
+@property (nonatomic, copy) NSString *hdlRefreshToken;
 
 @property (nonatomic, copy) NSString *accessToken;
 @property (nonatomic, copy) NSString *deviceSerialNo;  //璁惧搴忓垪鍙�
@@ -34,7 +35,7 @@
 
 - (void)clearDeviceInfo;
 
-+(void)hello;
+//+(void)hello;
 
 
 
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.m
index 714770e..00c5894 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/GlobalKit.m
@@ -8,6 +8,10 @@
 
 #import "GlobalKit.h"
 
+#define EZOpenSDKAccessToken @"EZOpenSDKAccessToken"
+#define EZhdlAccessToken @"EZhdlAccessToken"
+#define EZhdlRefreshToken @"EZhdlRefreshToken"
+
 @implementation GlobalKit
 
 + (instancetype)shareKit
@@ -25,7 +29,10 @@
     self = [super init];
     if (self)
     {
-        _accessToken = [[NSUserDefaults standardUserDefaults] objectForKey:@"EZOpenSDKAccessToken"];
+        _accessToken = [[NSUserDefaults standardUserDefaults] objectForKey:EZOpenSDKAccessToken];
+        _hdlAccessToken = [[NSUserDefaults standardUserDefaults] objectForKey:EZhdlAccessToken];
+        _hdlRefreshToken = [[NSUserDefaults standardUserDefaults] objectForKey:EZhdlRefreshToken];
+        
         _deviceVerifyCodeBySerial = [NSMutableDictionary new];
     }
     return self;
@@ -35,14 +42,31 @@
 - (void)setAccessToken:(NSString *)accessToken
 {
     _accessToken = accessToken;
-    [[NSUserDefaults standardUserDefaults] setObject:accessToken?:@"" forKey:@"EZOpenSDKAccessToken"];
+    [[NSUserDefaults standardUserDefaults] setObject:accessToken?:@"" forKey:EZOpenSDKAccessToken];
     [[NSUserDefaults standardUserDefaults] synchronize];
 }
+
+- (void)setHdlAccessToken:(NSString *)hdlAccessToken
+{
+    _hdlAccessToken = hdlAccessToken;
+    [[NSUserDefaults standardUserDefaults] setObject:hdlAccessToken?:@"" forKey:EZhdlAccessToken];
+    [[NSUserDefaults standardUserDefaults] synchronize];
+}
+
+- (void)setHdlRefreshToken:(NSString *)hdlRefreshToken
+{
+    _hdlRefreshToken = hdlRefreshToken;
+    [[NSUserDefaults standardUserDefaults] setObject:hdlRefreshToken?:@"" forKey:EZhdlRefreshToken];
+    [[NSUserDefaults standardUserDefaults] synchronize];
+}
+
 
 - (void)clearSession
 {
     _accessToken = nil;
-    [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"EZOpenSDKAccessToken"];
+    _hdlRefreshToken = nil;
+    _hdlRefreshToken = nil;
+    [[NSUserDefaults standardUserDefaults] removeObjectForKey:EZOpenSDKAccessToken];
     [[NSUserDefaults standardUserDefaults] synchronize];
 }
 
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.h b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.h
index 0a92e94..6451635 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.h
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.h
@@ -10,22 +10,19 @@
 
 NS_ASSUME_NONNULL_BEGIN
 /**
- 
+ ResponseData
  */
 @interface ResponseData : NSObject
-/**
- 
- */
+/** 鍝嶅簲鐘舵�佺爜 */
 @property (nonatomic, copy) NSString *code;
-/**
- 
- */
+/** 閿欒淇℃伅*/
 @property (nonatomic, copy) NSString *message;
-/**
- 
- */
-@property (nonatomic, copy) NSObject *data;
-
+/** 鎺ユ敹鏁版嵁鐨勫瓧鍏�  */
+@property (nonatomic, strong) NSDictionary * __nullable data;
+/** 瀛楀吀澶勭悊 */
+- (id)initWithDictionary:(NSDictionary *)dic;
+/**鏄惁鎴愬姛*/
+- (BOOL)success;
 @end
 
 NS_ASSUME_NONNULL_END
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.m
index eb4aa3d..30e621e 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/ResponseData.m
@@ -10,4 +10,45 @@
 
 @implementation ResponseData
 
+
+/// Description
+- (BOOL)success
+{
+    //娌充笢code涓�0 锛岃悿鐭充负200 浠h〃鎴愬姛
+    return [self.code isEqual: @"0"] || [self.code isEqual: @"200"]  ;
+}
+
+
+/// 瑙f瀽杩斿洖瀛楀吀鍙傛暟
+/// @param dic 杩斿洖鍙傛暟
+- (id)initWithDictionary:(NSDictionary *)dic
+{
+    if (self = [super init]) {
+        @try {
+            if (dic) {
+                //1.鍙栧嚭杩斿洖鏁版嵁鐨勭姸鎬佺爜
+                self.code = [NSString stringWithFormat:@"%@", dic[@"code"]];
+                //2.鎻愮ず淇℃伅
+                self.message = [dic objectForKey:@"message"];
+                //3.杩斿洖鏁版嵁
+                NSDictionary *mData = (NSDictionary *)[dic objectForKey:@"data"];
+                self.data = mData;
+            } else {
+                //娌℃湁杩斿洖鏁版嵁
+                self.message = @"缃戠粶閿欒";
+                self.data = nil;
+                self.code = @"-2";
+            }
+        }
+            //鎺ユ敹鍒板紓甯�
+        @catch (NSException *exception) {
+            self.data = dic;
+            self.code = @"-1";
+        }
+        @finally {
+            
+        }
+    }
+    return self;
+}
 @end
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceResultViewController.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceResultViewController.m
index 0c32699..d094b07 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceResultViewController.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceResultViewController.m
@@ -14,7 +14,7 @@
 #import "EZWifiConfigViewController.h"
 #import "EZWifiTipsViewController.h"
 #import "MBProgressHUD.h"
-
+#import "EZSDK.h"
 
 
 @interface EZDeviceResultViewController ()<UIAlertViewDelegate>
@@ -82,12 +82,21 @@
         [GlobalKit shareKit].deviceVerifyCode = [alertView textFieldAtIndex:0].text;
         __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
         hud.labelText = NSLocalizedString(@"ad_adding_msg", @"姝e湪娣诲姞锛岃绋嶅��...");
-        [EZOPENSDK addDevice:[GlobalKit shareKit].deviceSerialNo
-                  verifyCode:[GlobalKit shareKit].deviceVerifyCode
-                  completion:^(NSError *error) {
-                      [hud hide:YES];
-                      [self handleTheError:error];
-                  }];
+        
+//        [EZOPENSDK addDevice:[GlobalKit shareKit].deviceSerialNo
+//                  verifyCode:[GlobalKit shareKit].deviceVerifyCode
+//                  completion:^(NSError *error) {
+//                      [hud hide:YES];
+//                      [self handleTheError:error];
+//                  }];
+        
+        [EZHttpUtil addDeviceByHDL:[GlobalKit shareKit].deviceSerialNo
+                   verifyCode:[GlobalKit shareKit].deviceVerifyCode
+                   completion:^(ResponseData *responseData) {
+                       [hud hide:YES];
+                       [self handleTheError:responseData];
+                   }];
+        
     }
     else if (alertView.tag == 0xbb && buttonIndex == 1)
     {
@@ -112,12 +121,20 @@
         {
             __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
             hud.labelText = NSLocalizedString(@"ad_adding_msg", @"姝e湪娣诲姞锛岃绋嶅��...");
-            [EZOPENSDK addDevice:[GlobalKit shareKit].deviceSerialNo
-                      verifyCode:[GlobalKit shareKit].deviceVerifyCode
-                      completion:^(NSError *error) {
-                          [hud hide:YES];
-                          [self handleTheError:error];
-                      }];
+//            [EZOPENSDK addDevice:[GlobalKit shareKit].deviceSerialNo
+//                      verifyCode:[GlobalKit shareKit].deviceVerifyCode
+//                      completion:^(NSError *error) {
+//                          [hud hide:YES];
+//                          [self handleTheError:error];
+//                      }];
+            [EZHttpUtil addDeviceByHDL:[GlobalKit shareKit].deviceSerialNo
+                       verifyCode:[GlobalKit shareKit].deviceVerifyCode
+                       completion:^(ResponseData *responseData) {
+                           [hud hide:YES];
+                           [self handleTheError:responseData];
+                       }];
+            
+            
         }
         else
         {
@@ -212,24 +229,24 @@
 
 }
 
-- (void)handleTheError:(NSError *)error
+- (void)handleTheError:(ResponseData *)responseData
 {
-    if (!error)
+    if (responseData.success)
     {
         [self performSegueWithIdentifier:@"go2WifiResult" sender:nil];
         return;
     }
-    if (error.code == 105002)
+    if ([responseData.code isEqual: @"20010"])
     {
         UIAlertView *retryAlertView = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"device_verify_code_wrong", @"楠岃瘉鐮侀敊璇�") message:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"鍙栨秷") otherButtonTitles:NSLocalizedString(@"retry", @"閲嶈瘯"), nil];
         retryAlertView.tag = 0xbb;
         [retryAlertView show];
     }
-    else if (error.code == 105000)
+    else if ([responseData.code isEqual: @"20017"])
     {
         [UIView dd_showMessage:NSLocalizedString(@"ad_already_added",@"鎮ㄥ凡娣诲姞杩囨璁惧")];
     }
-    else if (error.code == 105001)
+    else if ([responseData.code isEqual: @"20013"])
     {
         [UIView dd_showMessage:NSLocalizedString(@"ad_added_by_others",@"姝よ澶囧凡琚埆浜烘坊鍔�")];
     }
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceTableViewController.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceTableViewController.m
index 86f3ba3..a40c299 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceTableViewController.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZDeviceTableViewController.m
@@ -66,6 +66,8 @@
     //    self.title.
     
     self.logoutBtn.title = NSLocalizedString(@"Logout", @"娉ㄩ攢");
+    self.logoutBtn.title = @"";
+    [self.logoutBtn setEnabled: NO];
     
     [self checkEZIsLogin];
 }
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZSettingViewController.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZSettingViewController.m
index f6acccb..8511c5e 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZSettingViewController.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/UIViewControllers/EZSettingViewController.m
@@ -360,8 +360,25 @@
     {
         __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
         hud.labelText = NSLocalizedString(@"message_deleting", @"姝e湪鍒犻櫎锛岃绋嶅��...");
-        [EZOPENSDK deleteDevice:self.deviceInfo.deviceSerial completion:^(NSError *error) {
-            if(!error)
+//        [EZOPENSDK deleteDevice:self.deviceInfo.deviceSerial completion:^(NSError *error) {
+//            if(!error)
+//            {
+//                [hud hide:YES];
+//                NSArray *viewControllers = self.navigationController.viewControllers;
+//                for (UIViewController *vc in viewControllers)
+//                {
+//                    if([vc isKindOfClass:[EZDeviceTableViewController class]])
+//                    {
+//                        ((EZDeviceTableViewController *)vc).needRefresh = YES;
+//                        [self.navigationController popToViewController:vc animated:YES];
+//                        break;
+//                    }
+//                }
+//            }
+//        }];
+        
+        [EZHttpUtil deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) {
+            if(responseData.success)
             {
                 [hud hide:YES];
                 NSArray *viewControllers = self.navigationController.viewControllers;
@@ -376,6 +393,8 @@
                 }
             }
         }];
+        
+        
     }
 }
 
diff --git a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/ViewController.m b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/ViewController.m
index 75f59e1..20f4877 100644
--- a/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/ViewController.m
+++ b/Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/ViewController.m
@@ -49,11 +49,31 @@
 //    //push鎽勫儚澶村垪琛ㄧ殑viewController
 //    [self.navigationController pushViewController:instanceVC animated:YES];
     
-    [[GlobalKit shareKit] setAccessToken:@"ra.b48ex6o495x0etj76a0a3huh1x91ymvw-8oi8f811ry-15pqyvo-dyuk9nyz4"];
-    /**
-     *  涓嬮潰浠g爜鍔熻兘涓庝互涓婄殑娉ㄩ噴鏂规硶鐩稿悓
-     */
-    [self performSegueWithIdentifier:@"go2CameraList" sender:nil];
+//    [[GlobalKit shareKit] setAccessToken:@"ra.b48ex6o495x0etj76a0a3huh1x91ymvw-8oi8f811ry-15pqyvo-dyuk9nyz4"];
+//    /**
+//     *  涓嬮潰浠g爜鍔熻兘涓庝互涓婄殑娉ㄩ噴鏂规硶鐩稿悓
+//     */
+//    [self performSegueWithIdentifier:@"go2CameraList" sender:nil];
+    
+    
+    GlobalKit.shareKit.hdlRefreshToken = @"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJlYzRiOTg4MTgxNWI0ZWJjYTEyNTU0ODNmNjg3NjgyMyIsImhlYWRlclByZWZpeCI6IkJlYXJlciAiLCJ0ZW5hbnRJZCI6IjIwIiwidG9rZW5UeXBlIjoicmVmcmVzaF90b2tlbiIsImFwcGxpY2F0aW9uSWQiOiIwIiwidXNlcklkIjoiMTMyODg4NjI3MzAwMzg1NTg3NCIsImV4cCI6MTYxNTI1NjMxMCwibmJmIjoxNjE0NjUxNTEwfQ.CgpIhgGb4U-NB3EvveBg6mBgLKi0H_zdA_RgPhDREmMeVyAH58H4guzutIi2EO7Dw8bkR2PB9n6jP4MQQNaHclN1EaahNQtZ4rHipLrBY0oT35Uz4vw5yXaWAyLG6_FW2Ky4wpqLbSjv9x24yc5cuKNaknruf73V6bNIDnGaEr0";
+
+
+    GlobalKit.shareKit.hdlAccessToken = @"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiJmZDgyMDY0ZmJmMGE0YTdmOWFhMmVhOTA0Y2FmNDY3MyIsInJvbGUiOiIiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidXNlckFjY291bnQiOiIxODgyNDg2NDE0MyIsInRlbmFudElkIjoiMjAiLCJ1c2VyVHlwZSI6IlVTRVJfQyIsInRva2VuVHlwZSI6ImFjY2Vzc190b2tlbiIsInVzZXJOYW1lIjoiTEUwMDAiLCJhcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzMjg4ODYyNzMwMDM4NTU4NzQiLCJleHAiOjE2MTQ1OTc5MzQsIm5iZiI6MTYxNDU5MDczNH0.e-ghYGplCF5lrMDwNd38RcbCjC79G729-iOMn3ozaEfmuZA_f5ElMvoyUf0Vm64IJMdwScuXPnSzJa2UQPyXNyZJRhpJDR4GKXI7X9VHqWJyrkc-_CJO0puLfB64K3SvKASD-PSHwzRggrmfn5G7GZ1gf-piK1grYurUIT-KaaE";
+    
+    __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+    hud.labelText = NSLocalizedString(@"ad_adding_msg", @"姝e湪娣诲姞锛岃绋嶅��...");
+    [EZHttpUtil getChildToken:^(NSString *accessToken) {
+        [hud hide:YES];
+        if(accessToken != NULL && ![accessToken isEqual:@""]){
+            [[GlobalKit shareKit] setAccessToken:accessToken];
+            /**
+             *  涓嬮潰浠g爜鍔熻兘涓庝互涓婄殑娉ㄩ噴鏂规硶鐩稿悓
+             */
+            [self performSegueWithIdentifier:@"go2CameraList" sender:nil];
+            
+        }
+    }];
 }
 
 - (IBAction)logout:(id)sender
@@ -62,20 +82,7 @@
 //    [EZOPENSDK logout:^(NSError *error) {
 //    }];
     
-    __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
-    [EZSDK addDeviceByHDL:@"" verifyCode:@"" completion:^(NSError *error) {
-       
-        [hud hide:YES];
-    
-        if(!error){
-            NSLog(@"璇锋眰鎴愬姛");
-        }else{
-            NSLog(@"璇锋眰澶辫触");
-            
-//            NSLog(@"璇锋眰澶辫触%@",error.description);
-        }
-        [self handleTheError:error];
-    }];
+
 }
 
 - (void)handleTheError:(NSError *)error

--
Gitblit v1.8.0