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.增加添加设备通知功能 --- EZSDK/EZSDK/EZ/Global/EZHttpUtil.m | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 307 insertions(+), 10 deletions(-) diff --git a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m index 29b7426..3fc0474 100644 --- a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m +++ b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m @@ -10,14 +10,25 @@ #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_VerifyLocalLock @"/home-wisdom/platform/yingshi/lock/verifyLocalLock"//钀ょ煶闂ㄩ攣鏈湴楠岃瘉 +#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_LockAuth @"/home-wisdom/platform/yingshi/lock/auth"//钀ょ煶闂ㄩ攣缁堢鎺堟潈 +#define API_POST_EZ_RemoteOpen @"/home-wisdom/platform/yingshi/lock/remote/open/door"//钀ょ煶闂ㄩ攣杩滅▼寮�閿� +#define API_POST_EZ_TempList @"/home-wisdom/platform/yingshi/lock/temp/list"//钀ょ煶闂ㄤ复鏃跺瘑鐮佸垪琛� +#define API_POST_EZ_AddTemp @"/home-wisdom/platform/yingshi/lock/temp/add"//钀ょ煶闂ㄦ坊鍔犱复鏃跺瘑鐮� +#define API_POST_EZ_DeleteTemp @"/home-wisdom/platform/yingshi/lock/temp/delete"//钀ょ煶闂ㄥ垹闄や复鏃跺瘑鐮� +#define API_POST_EZ_DeviceMessage @"/home-wisdom/app/device/message"//钀ょ煶璁惧娑堟伅鍒楄〃 +#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" @@ -51,13 +62,15 @@ //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); } @@ -66,6 +79,31 @@ // return task; } + +/** + * @since 娌充笢娣诲姞璁惧涔嬪墠鏈湴楠岃瘉鐨勬帴鍙o紙鏅鸿兘闂ㄩ攣浣跨敤锛岃皟鐢ㄦ帴鍙e悗杈撳叆闂ㄩ攣瀵嗙爜锛屽啀杩涜缁戝畾锛� + * @param deviceSerial 璁惧搴忓垪鍙� + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀鸿皟鐢ㄩ獙璇佹帴鍙f垚鍔� + * + */ +- (void)verifyLocalLockByHDL:(NSString *)deviceSerial + completion:(void (^)(ResponseData *responseData))completion{ + //2.璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:deviceSerial forKey:@"deviceSerial"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [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_VerifyLocalLock parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} + /** * @since 娌充笢娣诲姞璁惧鐨勬帴鍙� * 鏍规嵁璁惧搴忓垪鍙峰拰璁惧楠岃瘉鐮佹坊鍔犺澶囨帴鍙� @@ -79,14 +117,25 @@ verifyCode:(NSString *)verifyCode completion:(void (^)(ResponseData *responseData))completion{ - //2.璁剧疆璇锋眰鍙傛暟 + //璁剧疆璇锋眰鍙傛暟 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) { + HDLEZLog(@"娣诲姞璁惧鍙傛暟锛�%@",parameters); + + + [self requestHttpsPost:API_POST_EZ_AddDevice parameters:parameters completion:^(ResponseData *responseData) { + if (responseData.success){//娣诲姞鎴愬姛锛岃Е鍙戜唬鐞� + if ([EZSDK sharedInstance].delegate&&[[EZSDK sharedInstance].delegate respondsToSelector:@selector(addDeviceSuccessed)]) { + [[EZSDK sharedInstance].delegate addDeviceSuccessed]; + } + } + if (completion) { completion (responseData); } @@ -108,6 +157,8 @@ 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) { @@ -120,6 +171,239 @@ } +/** + * 鏍规嵁璁惧搴忓垪鍙疯幏鍙栧憡璀︿俊鎭垪琛� + */ +- (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); + } + }]; +} + +/** + * @since 娌充笢闂ㄩ攣缁堢鎺堟潈鎺ュ彛 + * @param password 闂ㄩ攣瀵嗙爜 + * @param deviceId 璁惧id + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔� + * + */ +- (void)authLockByHDL:(NSString *)password + deviceId:(NSString *)deviceId + completion:(void (^)(ResponseData *responseData))completion{ + //2.璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:deviceId forKey:@"deviceId"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [parameters setValue:password forKey:@"password"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + NSLog(@"缁堢鎺堟潈鍙傛暟锛�%@",parameters); + + [self requestHttpsPost:API_POST_EZ_LockAuth parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; + +} + +/** + * @since 娌充笢杩滅▼寮�閿佹帴鍙� + * @param streamToken 璁惧搴忓垪鍙� + * @param deviceId 璁惧id + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘坊鍔犳垚鍔� + * + */ +- (void)remoteOpenByHDL:(NSString *)streamToken + deviceId:(NSString *)deviceId + completion:(void (^)(ResponseData *responseData))completion{ + //2.璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:deviceId forKey:@"deviceId"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [parameters setValue:streamToken forKey:@"streamToken"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + NSLog(@"寮�闂ㄥ弬鏁帮細%@",parameters); + + [self requestHttpsPost:API_POST_EZ_RemoteOpen parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; + +} + +/** + * @since 娌充笢鑾峰彇涓存椂瀵嗙爜鍒楄〃鎺ュ彛 + * @param deviceId 璁惧id + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘垚鍔� + * + */ +- (void)getTempListByHDL:(NSString *)deviceId + completion:(void (^)(ResponseData *responseData))completion{ + //璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:deviceId forKey:@"deviceId"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + NSLog(@"鑾峰彇涓存椂瀵嗙爜鍒楄〃鍙傛暟锛�%@",parameters); + + [self requestHttpsPost:API_POST_EZ_TempList parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} + +/** + * @since 娌充笢娣诲姞涓存椂瀵嗙爜鎺ュ彛 + * @param tempInfo 涓存椂瀵嗙爜淇℃伅 + * @param deviceId 璁惧id + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘垚鍔� + * + */ +- (void)addTempByHDL:(HDLEZTemInfoModel *)tempInfo + deviceId:(NSString *)deviceId + completion:(void (^)(ResponseData *responseData))completion{ + //璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithDictionary:[tempInfo yy_modelToJSONObject]]; + [parameters setValue:deviceId forKey:@"deviceId"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + NSLog(@"娣诲姞涓存椂瀵嗙爜鍙傛暟1锛�%@",parameters); + + [self requestHttpsPost:API_POST_EZ_AddTemp parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} + +/** + * @since 娌充笢鍒犻櫎涓存椂瀵嗙爜鎺ュ彛 + * @param extVisitorId 涓存椂瀵嗙爜绱㈠紩 + * @param deviceId 璁惧id + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘垚鍔� + * + */ +- (void)deleteTempByHDL:(NSString *)extVisitorId + deviceId:(NSString *)deviceId + completion:(void (^)(ResponseData *responseData))completion{ + //璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:extVisitorId forKey:@"extVisitorId"]; + [parameters setValue:deviceId forKey:@"deviceId"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + NSLog(@"鍒犻櫎涓存椂瀵嗙爜鍙傛暟锛�%@",parameters); + + [self requestHttpsPost:API_POST_EZ_DeleteTemp parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; + +} + +/** + * @since 娌充笢鑾峰彇璁惧娑堟伅 + * @param deviceId 璁惧id + * @param pageSize 椤甸潰澶у皬 + * @param pageNo 褰撳墠椤� + * @param completion 鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘垚鍔� + * + */ +- (void)getDeviceMessageByHDL:(NSString *)deviceId + pageSize:(NSInteger)pageSize + pageNo:(NSInteger)pageNo + completion:(void (^)(ResponseData *responseData))completion{ + //璁剧疆璇锋眰鍙傛暟 + NSMutableDictionary *parameters = [NSMutableDictionary dictionary]; + [parameters setValue:deviceId forKey:@"deviceId"]; + [parameters setValue:[NSString stringWithFormat:@"%ld",(long)pageSize] forKey:@"pageSize"]; + [parameters setValue:[NSString stringWithFormat:@"%ld",(long)pageNo] forKey:@"pageNo"]; + [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"]; + [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"]; + + parameters = [self GetSignRequestDictionary:parameters]; + + NSLog(@"鑾峰彇璁惧娑堟伅鍙傛暟锛�%@",parameters); + + [self requestHttpsPost:API_POST_EZ_DeviceMessage parameters:parameters completion:^(ResponseData *responseData) { + if (completion) { + completion (responseData); + } + }]; +} /// 鍒锋柊token /// @param block 缁撴灉 @@ -137,7 +421,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"]]; @@ -175,11 +459,14 @@ completion(responseData); return; }]; + }else{ + completion(responseData); } }]; + }else{ + completion(responseData); } - completion(responseData); } }]; } @@ -218,7 +505,7 @@ if(responseObject != NULL){ //4.瑙f瀽鎷垮埌鐨勫搷搴旀暟鎹� - NSLog(@"%@",[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]); + NSLog(@"鏁版嵁杩斿洖%@",[[NSString alloc]initWithData:responseObject encoding:NSUTF8StringEncoding]); NSDictionary * outDic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:nil]; responseData = [[ResponseData alloc] initWithDictionary:outDic]; } @@ -251,7 +538,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]]; @@ -311,7 +599,10 @@ if (( [self stringIsNullOrEmpty:valueStr])//鍒ょ┖瀛楃 || ([[valueStr substringToIndex:1] isEqual:@"{"])//鍒ゆ柇鏄惁涓哄璞� || ([[valueStr substringToIndex:1] isEqual:@"["])//鍒ゆ柇鏄惁涓烘暟缁� + || ([[valueStr substringToIndex:1] isEqual:@"("])//鍒ゆ柇鏄惁涓烘暟缁� ) { + +// HDLSDKLog(@"涓嶆牎楠�: %@",valueStr); return false; } return true; @@ -319,3 +610,9 @@ @end + + +#pragma mark - 淇敼璁板綍 +//2021-07-07 +//V1.1.3 +//1.鏇挎崲涓烘柊鎺ュ彛锛屾牴鎹甴omeId娉ㄥ唽钀ょ煶瀛愯处鍙锋柟妗堛�� -- Gitblit v1.8.0