From 3698c13aba988cd3e41b91b255e1c682c057e565 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期四, 23 三月 2023 11:49:58 +0800 Subject: [PATCH] 1.新增历史记录相关页面及功能 2.修改配网为热点配网 3.设备列表增加过滤门锁功能 4.增加添加设备通知功能 --- Demo/EZOpensdk_iOS_4.15.1_build20201104/Demo/EZOpenSDKDemo/Global/EZHttpUtil.m | 136 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 116 insertions(+), 20 deletions(-) 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 3b79af6..d87504f 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 @@ -10,44 +10,60 @@ #import <Foundation/Foundation.h> #import <CommonCrypto/CommonDigest.h> #import "AFNetworking.h" +#import "YYModel.h" #define TestRequestHttpsHost @"https://test-gz.hdlcontrol.com" #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_AddDevice @"/home-wisdom/platform/yingshi/child/addDevice" +#define API_POST_EZ_GetChildToken @"/home-wisdom/platform/yingshi/child/token" +#define API_POST_EZ_ChildDelDevice @"/home-wisdom/platform/yingshi/child/deleteDevice" #define API_POST_EZ_RefreshToken @"/smart-footstone/member/oauth/login" +#define API_POST_EZ_GetAlarmList @"/home-wisdom/platform/yingshi/alarm/records"//鑾峰彇鎶ヨ娑堟伅 +#define API_POST_EZ_DeleteAlarmMes @"/home-wisdom/platform/yingshi/alarm/delete"//鍒犻櫎鎶ヨ娑堟伅 +#define API_POST_EZ_ReadAlarmMes @"/home-wisdom/platform/yingshi/alarm/updateChecked"//鏍囪鎶ヨ娑堟伅宸茶 #pragma mark APP_KEY #define APP_KEY @"HDL-HOME-APP-TEST" #define SECRET_KEY @"WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss" +#define TIME_OUT 15.0f + @implementation EZHttpUtil #pragma mark -鎺ュ彛璇锋眰閮ㄥ垎 - - +/// sharedManager ++ (id)sharedManager { + static dispatch_once_t once; + static id instance; + dispatch_once(&once, ^{ + instance = [self new]; + }); + return instance; +} /** * @since 娌充笢鑾峰彇瀛愯处鍙穞oken鐨勬帴鍙� * * @param block 鍥炶皟block */ -+ (void)getChildToken:(void (^)(NSString *accessToken))block{ +- (void)getChildToken:(void (^)(NSString *accessToken))block{ //2.璁剧疆璇锋眰鍙傛暟 NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue: [NSString stringWithFormat:@"%d", [GlobalKit shareKit].hdlPlatform] forKey:@"platform"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; 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"]; +// token = responseData.data[@"accessToken"]; + token = [NSString stringWithFormat:@"%@",responseData.data]; } block(token); } @@ -65,7 +81,7 @@ * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔� * */ -+ (void)addDeviceByHDL:(NSString *)deviceSerial +- (void)addDeviceByHDL:(NSString *)deviceSerial verifyCode:(NSString *)verifyCode completion:(void (^)(ResponseData *responseData))completion{ @@ -73,9 +89,12 @@ NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:deviceSerial forKey:@"deviceSerial"]; [parameters setValue:verifyCode forKey:@"validateCode"]; + [parameters setValue: [NSString stringWithFormat:@"%d",[GlobalKit shareKit].hdlPlatform] forKey:@"platform"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + parameters = [self GetSignRequestDictionary:parameters]; - [self requestHttpsPost:API_POST_EZ_AddDevice parameters:parameters completion:^(ResponseData *responseData) { + [self requestHttpsPost:API_POST_EZ_AddDevice parameters:parameters completion:^(ResponseData *responseData) { if (completion) { completion (responseData); } @@ -92,10 +111,13 @@ * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔� * */ -+ (void)deleteDeviceByHDL:(NSString *)deviceSerial completion:(void (^)(ResponseData *responseData))completion{ +- (void)deleteDeviceByHDL:(NSString *)deviceSerial completion:(void (^)(ResponseData *responseData))completion{ //1.璁剧疆璇锋眰鍙傛暟 NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; [parameters setValue:deviceSerial forKey:@"deviceSerial"]; + [parameters setValue: [NSString stringWithFormat:@"%d",[GlobalKit shareKit].hdlPlatform] forKey:@"platform"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + parameters = [self GetSignRequestDictionary:parameters]; [self requestHttpsPost:API_POST_EZ_ChildDelDevice parameters:parameters completion:^(ResponseData *responseData) { @@ -108,10 +130,74 @@ } +/** + * 鏍规嵁璁惧搴忓垪鍙疯幏鍙栧憡璀︿俊鎭垪琛� + */ +- (void)getAlarmList:(NSString *)deviceSerial + pageNo:(NSInteger)pageNo + pageSize:(NSInteger)pageSize + completion:(void (^)(ResponseData *responseData))completion{ + + //1.璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:deviceSerial forKey:@"deviceSerial"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + [parameters setValue:[NSString stringWithFormat:@"%ld",(long)pageSize] forKey:@"pageSize"]; + [parameters setValue:[NSString stringWithFormat:@"%ld",(long)pageNo] forKey:@"pageNo"]; + + parameters = [self GetSignRequestDictionary:parameters]; + NSLog(@"HDLpageNo:%ld",(long)pageNo); + [self requestHttpsPost:API_POST_EZ_GetAlarmList parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} + +/** + * 鎵归噺鍒犻櫎鎶ヨ璁板綍 + */ +- (void)deleteAlarmMessage:(NSArray *)alarmIds + completion:(void (^)(ResponseData *responseData))completion{ + + //1.璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:[alarmIds yy_modelToJSONObject] forKey:@"alarmIds"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + [self requestHttpsPost:API_POST_EZ_DeleteAlarmMes parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} + + +/** + * 鎵归噺鏍囪鎶ヨ璁板綍宸茶 + */ +- (void)readAlarmMessage:(NSArray *)alarmIds + completion:(void (^)(ResponseData *responseData))completion{ + + //1.璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:@"1" forKey:@"isChecked"]; + [parameters setValue:[alarmIds yy_modelToJSONObject] forKey:@"alarmIds"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + [self requestHttpsPost:API_POST_EZ_ReadAlarmMes parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} + /// 鍒锋柊token /// @param block 缁撴灉 -+ (void)refreshHDLToken:(void (^)(BOOL isSuccess))block{ +- (void)refreshHDLToken:(void (^)(BOOL isSuccess))block{ //1.璁剧疆璇锋眰鍙傛暟 NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; @@ -125,7 +211,7 @@ if (block) { if (responseData) { if(responseData.success){ - [EZSDK setHDlAccessToken: + [[EZSDK sharedInstance] setHDlAccessToken: [NSString stringWithFormat:@"%@%@",responseData.data[@"headerPrefix"], responseData.data[@"accessToken"]] refreshToken:responseData.data[@"refreshToken"]]; @@ -148,7 +234,7 @@ /// @param apiPath 鎺ュ彛鍦板潃 /// @param parameters 璇锋眰鍙傛暟 /// @param completion 璇锋眰鍝嶅簲鍙傛暟 -+ (void)requestHttpsPost:(NSString *)apiPath +- (void)requestHttpsPost:(NSString *)apiPath parameters:(NSMutableDictionary *)parameters completion:(void (^)(ResponseData *responseData))completion{ @@ -176,7 +262,7 @@ /// @param apiPath 鎺ュ彛鍦板潃 /// @param parameters 璇锋眰鍙傛暟 /// @param completion 璇锋眰鍝嶅簲鍙傛暟 -+ (void)requestHttpsBase:(NSString *)apiPath +- (void)requestHttpsBase:(NSString *)apiPath parameters:(NSMutableDictionary *)parameters completion:(void (^)(ResponseData *responseData))completion{ @@ -194,7 +280,7 @@ //3.request NSMutableURLRequest * request = [[AFJSONRequestSerializer serializer] requestWithMethod:@"post" URLString:URL parameters:parameters error:nil]; - request.timeoutInterval = 10.0f; + request.timeoutInterval = TIME_OUT; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; [request setValue:GlobalKit.shareKit.hdlAccessToken forHTTPHeaderField:@"Authorization"]; @@ -223,7 +309,7 @@ /** * 鍩虹鏈嶅姟鐨勬帴鍙i兘瑕佹牎楠宻ign */ -+(NSMutableDictionary *)GetSignRequestDictionary:(NSMutableDictionary *)params{ +-(NSMutableDictionary *)GetSignRequestDictionary:(NSMutableDictionary *)params{ if(params == NULL){ params =[NSMutableDictionary dictionary]; } @@ -239,7 +325,8 @@ NSString *newString = @""; for(NSString *key in sortKeyArray){ if(params[key] != NULL){ - NSString *valueStr = params[key]; + //Key瀵瑰簲鐨剉alue寮鸿浆涓篘SString + NSString *valueStr = [NSString stringWithFormat:@"%@",[params objectForKey:key]]; //妫�娴嬪綋鍓嶅弬鏁版槸鍚﹂渶瑕佸弬涓庢牎楠� if([self IfValueNeedSign:valueStr]){ newString = [newString stringByAppendingString:[NSString stringWithFormat:@"%@=%@&", key,valueStr]]; @@ -262,7 +349,7 @@ /// 瀛楃涓插垽绌� /// @param valueStr 浼犲叆鍒ゆ柇瀛楃 -+ (BOOL)stringIsNullOrEmpty:(NSString *)valueStr +- (BOOL)stringIsNullOrEmpty:(NSString *)valueStr { if((valueStr == nil || [valueStr isKindOfClass:[NSNull class]] || valueStr.length == 0)){ return YES; @@ -275,7 +362,7 @@ /** MD5杞崲+杞皬鍐� */ -+ (NSString*)signMD5Encrypt:(NSString *)str +- (NSString*)signMD5Encrypt:(NSString *)str { const char *cStr = [str UTF8String]; unsigned char digest[CC_MD5_DIGEST_LENGTH]; @@ -295,11 +382,14 @@ /// </summary> /// <param name="valueStr"></param> /// <returns></returns> -+(bool)IfValueNeedSign:(NSString *)valueStr{ +-(bool)IfValueNeedSign:(NSString *)valueStr{ if (( [self stringIsNullOrEmpty:valueStr])//鍒ょ┖瀛楃 || ([[valueStr substringToIndex:1] isEqual:@"{"])//鍒ゆ柇鏄惁涓哄璞� || ([[valueStr substringToIndex:1] isEqual:@"["])//鍒ゆ柇鏄惁涓烘暟缁� + || ([[valueStr substringToIndex:1] isEqual:@"("])//鍒ゆ柇鏄惁涓烘暟缁� ) { + +// HDLSDKLog(@"涓嶆牎楠�: %@",valueStr); return false; } return true; @@ -307,3 +397,9 @@ @end + + +#pragma mark - 淇敼璁板綍 +//2021-07-07 +//V1.1.3 +//1.鏇挎崲涓烘柊鎺ュ彛锛屾牴鎹甴omeId娉ㄥ唽钀ょ煶瀛愯处鍙锋柟妗堛�� -- Gitblit v1.8.0