From b4e1288a9b63eb820e9c9489c56aac4bf6b31067 Mon Sep 17 00:00:00 2001 From: Davin <591807572@qq.com> Date: 星期三, 18 十二月 2024 14:34:16 +0800 Subject: [PATCH] feature 图片资源更新 --- EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m | 480 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 412 insertions(+), 68 deletions(-) diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m index 8511c5e..29fae09 100644 --- a/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m +++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m @@ -13,10 +13,12 @@ #import "EZDeviceTableViewController.h" #import "EZEditViewController.h" -#import "EZDeviceVersion.h" +#import <EZOpenSDKFramework/EZDeviceVersion.h> #import "EZDeviceUpgradeViewController.h" -#import "EZStorageInfo.h" +#import <EZOpenSDKFramework/EZStorageInfo.h> #import "Toast+UIView.h" +#import "HDLEZDetectionTypeViewController.h" +#import "HDLEZMirrorFlipView.h" //#import "EzvizDeviceManager.h" @@ -25,14 +27,23 @@ @property (nonatomic, strong) NSMutableArray *settingList; @property (nonatomic, weak) IBOutlet UISwitch *videoSwitch; @property (nonatomic, weak) IBOutlet UISwitch *actionSwitch; +@property (nonatomic, strong) UIImageView *actionRightArrow; @property (weak, nonatomic) IBOutlet UISwitch *hdSwitch; +@property (weak, nonatomic) IBOutlet UISwitch *privacyMaskSwitch; +@property (weak, nonatomic) IBOutlet UIImageView *rightArrowImg; @property (nonatomic, weak) IBOutlet UILabel *nameLabel; @property (nonatomic, weak) IBOutlet UILabel *serialLabel; @property (nonatomic, weak) IBOutlet UILabel *currentVersionLabel; @property (nonatomic, weak) IBOutlet UILabel *nVersionLabel; @property (nonatomic, weak) IBOutlet UIImageView *updateImageView; +@property (nonatomic, strong) HDLEZMirrorFlipView *mirrorFlipView; +@property (nonatomic, strong) UIButton *deleteButton; +@property (nonatomic, strong) UIButton *privacyMaskButton; // 闅愮閬斀鎵ц杩囩▼鎻愰啋鎸夐挳 @property (nonatomic, strong) EZDeviceVersion *deviceVersion; @property (nonatomic, strong) NSTimer *timer; +@property (nonatomic, assign) BOOL isCatEye; // 鏄惁涓虹尗鐪� +@property (nonatomic, assign) BOOL privacyMasking; // 闅愮閬斀璁剧疆涓� +@property (nonatomic, copy) NSString *mirrorFlipCommand; // 闀滃儚缈昏浆鍛戒护 @end @@ -47,6 +58,14 @@ [super viewDidLoad]; self.title = NSLocalizedString(@"setting_device_set_title", @"璁惧璁剧疆"); + // 鐚溂 CS-DH1, CS-DP1, CS-CV336, CS-CTQ1P + // 闂ㄩ攣 DL30V,Y3000FV,DL20VC,DL31FS,DL30F,DL30,Y3000FVS,Y3000F + self.isCatEye = NO; + self.privacyMasking = NO; + self.privacyMaskSwitch.on = NO; + if ([self.deviceInfo.deviceType containsString:@"CS-DH1"] || [self.deviceInfo.deviceType containsString:@"CS-DP1"] || [self.deviceInfo.deviceType containsString:@"CS-CV336"] || [self.deviceInfo.deviceType containsString:@"CS-CTQ1P"]) { + self.isCatEye = YES; + } // Uncomment the following line to preserve selection between presentations. // self.clearsSelectionOnViewWillAppear = NO; @@ -78,26 +97,57 @@ self.videoSwitch.on = self.deviceInfo.isEncrypt; } [_settingList addObject:@[NSLocalizedString(@"setting_hardware_decoding", @"纭В鐮�")]]; + if (!self.isCatEye) { + [_settingList addObject:@[NSLocalizedString(@"setting_privacy_masking", @"闅愮閬斀")]]; + [_settingList addObject:@[NSLocalizedString(@"setting_sd_card_formatting", @"SD鍗℃牸寮忓寲")]]; + } [_settingList addObject:@[NSLocalizedString(@"delete", @"鍒犻櫎")]]; self.serialLabel.text = self.deviceInfo.deviceSerial; self.updateImageView.hidden = YES; + __weak __typeof(self)weakSelf = self; [EZOPENSDK getDeviceVersion:self.deviceInfo.deviceSerial completion:^(EZDeviceVersion *version, NSError *error) { - _deviceVersion = version; - self.currentVersionLabel.text = version.currentVersion; - if(version.isNeedUpgrade) - { - self.nVersionLabel.text = version.latestVersion; - self.updateImageView.hidden = NO; - } - else - { - self.updateImageView.hidden = YES; - self.nVersionLabel.text = version.currentVersion; - } - }]; + weakSelf.deviceVersion = version; + weakSelf.currentVersionLabel.text = version.currentVersion; + if(version.isNeedUpgrade) { + weakSelf.nVersionLabel.text = version.latestVersion; + weakSelf.updateImageView.hidden = NO; + } else { + weakSelf.updateImageView.hidden = YES; + weakSelf.nVersionLabel.text = version.currentVersion; + } + }]; + [[EZHttpUtil sharedManager] getDeviceCapacity:self.deviceInfo.deviceSerial completion:^(ResponseData * _Nonnull responseData) { + NSLog(@"#######闀滃儚缈昏浆鍊艰繑鍥炵粨鏋滐細%@", [responseData yy_modelToJSONString]); + if (responseData.success && responseData.data) { + NSLog(@"#######闀滃儚缈昏浆鍊间负锛�%@", responseData.data); + BOOL ptzCenterMirror = [[responseData.data objectForKey:@"ptzCenterMirror"] boolValue]; + BOOL ptzLeftRightMirror = [[responseData.data objectForKey:@"ptzLeftRightMirror"] boolValue]; + BOOL ptzTopBottomMirror = [[responseData.data objectForKey:@"ptzTopBottomMirror"] boolValue]; + if (ptzTopBottomMirror) { + weakSelf.mirrorFlipCommand = @"0"; + } + if (ptzLeftRightMirror) { + weakSelf.mirrorFlipCommand = @"1"; + } + if (ptzCenterMirror) { + weakSelf.mirrorFlipCommand = @"2"; + } + [weakSelf.tableView reloadData]; + } + }]; + + [self.privacyMaskSwitch setOn:NO]; + [self getPrivacyMaskSwitchStatus]; + self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + + [self.privacyMaskSwitch addSubview:self.privacyMaskButton]; + [self.privacyMaskButton addTarget:self action:@selector(privacyMaskingAction:) forControlEvents:UIControlEventTouchUpInside]; + [self.privacyMaskButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.mas_equalTo(UIEdgeInsetsZero); + }]; // [[EzvizDeviceManager sharedManager] startP2PHolePunching:_cameraInfo.cameraId completion:^(BOOL result, NSError *error) { // NSLog(@"result = %d, error = %@", result, error); // }]; @@ -160,6 +210,23 @@ // Dispose of any resources that can be recreated. } +- (void)getPrivacyMaskSwitchStatus { // 鑾峰彇闀滃ご閬斀寮�鍏崇姸鎬� + __weak __typeof(self)weakSelf = self; + [EZHttpUtil.sharedManager getCoverSwitchStatus:self.deviceInfo.deviceSerial completion:^(ResponseData * _Nonnull responseData) { + if(responseData.success) { + NSDictionary *dataDic = responseData.data; + if (dataDic && [[dataDic allKeys] containsObject:@"enable"]) { // 鍖呭惈闅愮閬斀鍔熻兘灞炴�� + weakSelf.privacyMaskSwitch.enabled = YES; + [weakSelf.privacyMaskSwitch setOn:[[dataDic objectForKey:@"enable"] boolValue]]; + } else { // 涓嶅寘鍚鍔熻兘 + weakSelf.privacyMaskSwitch.enabled = NO; + } + } else { + weakSelf.privacyMaskSwitch.enabled = NO; + } + }]; +} + #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { @@ -174,16 +241,34 @@ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"EZSettingCell" forIndexPath:indexPath]; // Configure the cell... + cell.backgroundColor = [UIColor whiteColor]; + cell.contentView.backgroundColor = [UIColor whiteColor]; cell.textLabel.text = [[_settingList dd_objectAtIndex:indexPath.section] dd_objectAtIndex:indexPath.row]; - + cell.textLabel.textColor = HDLEZHEXCOLOR(0x1B2D4D, 1.0); + cell.textLabel.textAlignment = NSTextAlignmentLeft; cell.accessoryType = UITableViewCellAccessoryNone; + cell.accessoryView = nil; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + UIView *separatorLine = [[UIView alloc] init]; + separatorLine.hidden = YES; // 榛樿闅愯棌鍒嗗壊绾� + [cell.contentView addSubview:separatorLine]; + separatorLine.backgroundColor = HDLEZHEXCOLOR(0xECEDEE, 1.); + [separatorLine mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(cell.contentView.mas_left).offset(16.); + make.bottom.mas_equalTo(cell.contentView.mas_bottom); + make.right.mas_equalTo(cell.contentView.mas_right).offset(-16.); + make.height.mas_equalTo(0.5); + }]; if (indexPath.section == 0) { [cell.contentView addSubview:self.nameLabel]; - cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; +// cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + UIImageView *accessoryImgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"hdl_ez_list_next"]]; + accessoryImgView.frame = CGRectMake(0, 0, 16, 16); + cell.accessoryView = accessoryImgView; [self.nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) { make.leading.mas_equalTo(@140); - make.trailing.mas_equalTo(cell.contentView.mas_trailing); + make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-10); make.centerY.mas_equalTo(cell.contentView.mas_centerY); make.height.mas_equalTo(@20); }]; @@ -194,48 +279,116 @@ [cell.contentView addSubview:self.serialLabel]; [self.serialLabel mas_remakeConstraints:^(MASConstraintMaker *make) { make.leading.mas_equalTo(@140); - make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-34); + make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-16); make.centerY.mas_equalTo(cell.contentView.mas_centerY); make.height.mas_equalTo(@20); }]; self.serialLabel.text = self.deviceInfo.deviceSerial; + separatorLine.hidden = NO; } else if (indexPath.section == 5) { [cell.contentView addSubview:self.hdSwitch]; [self.hdSwitch mas_remakeConstraints:^(MASConstraintMaker *make) { - make.trailing.mas_equalTo(@(-17)); + make.trailing.mas_equalTo(@(-16)); make.centerY.mas_equalTo(cell.contentView.mas_centerY); make.width.mas_equalTo(@51); make.height.mas_equalTo(@31); }]; BOOL hdStatus = [[NSUserDefaults standardUserDefaults] boolForKey:[NSString stringWithFormat:@"EZVideoPlayHardDecodingStatus_%@", self.deviceInfo.deviceSerial]]; self.hdSwitch.on = hdStatus; + separatorLine.hidden = NO; } else if (indexPath.section == 6) { - cell.textLabel.textColor = [UIColor redColor]; - cell.textLabel.textAlignment = NSTextAlignmentCenter; + if (self.isCatEye) { // 鐚溂 + cell.backgroundColor = [UIColor clearColor]; + cell.contentView.backgroundColor = [UIColor clearColor]; + cell.textLabel.text = @""; + if (self.mirrorFlipCommand && self.mirrorFlipCommand.length > 0) { + [cell.contentView addSubview:self.mirrorFlipView]; + __weak __typeof(self)weakSelf = self; + [self.mirrorFlipView configTitle:NSLocalizedString(@"api_mirror_flip", @"鐢婚潰缈昏浆") subTitle:NSLocalizedString(@"api_mirror_flip_trip", @"鐐瑰嚮鍚庤棰戠敾闈細缈昏浆灞曠ず锛岄�傚悎鍊掕鐨勫満鏅�") click:^{ + [weakSelf mirrorFlipAction]; + }]; + } + [cell.contentView addSubview:self.deleteButton]; + [self.deleteButton addTarget:self action:@selector(deleteAction) forControlEvents:UIControlEventTouchUpInside]; + [self.deleteButton mas_remakeConstraints:^(MASConstraintMaker *make) { + make.centerX.mas_equalTo(cell.contentView.mas_centerX); + make.left.mas_equalTo(cell.contentView.mas_left).offset(77.); + make.bottom.mas_equalTo(cell.contentView.mas_bottom); + make.height.mas_equalTo(@44); + }]; + } else { // 鎽勫儚澶� + [cell.contentView addSubview:self.privacyMaskSwitch]; + [self.privacyMaskSwitch mas_remakeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(@(-16)); + make.centerY.mas_equalTo(cell.contentView.mas_centerY); + make.width.mas_equalTo(@51); + make.height.mas_equalTo(@31); + }]; + } + } + else if (indexPath.section == 7) + { + [cell.contentView addSubview:self.rightArrowImg]; + [self.rightArrowImg mas_remakeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(@(-16)); + make.centerY.mas_equalTo(cell.contentView.mas_centerY); + make.width.mas_equalTo(@16); + make.height.mas_equalTo(@16); + }]; + } + else if (indexPath.section == 8) + { + cell.backgroundColor = [UIColor clearColor]; + cell.contentView.backgroundColor = [UIColor clearColor]; + cell.textLabel.text = @""; + if (self.mirrorFlipCommand && self.mirrorFlipCommand.length > 0) { + [cell.contentView addSubview:self.mirrorFlipView]; + __weak __typeof(self)weakSelf = self; + [self.mirrorFlipView configTitle:NSLocalizedString(@"api_mirror_flip", @"鐢婚潰缈昏浆") subTitle:NSLocalizedString(@"api_mirror_flip_trip", @"鐐瑰嚮鍚庤棰戠敾闈細缈昏浆灞曠ず锛岄�傚悎鍊掕鐨勫満鏅�") click:^{ + [weakSelf mirrorFlipAction]; + }]; + } + [cell.contentView addSubview:self.deleteButton]; + [self.deleteButton addTarget:self action:@selector(deleteAction) forControlEvents:UIControlEventTouchUpInside]; + [self.deleteButton mas_remakeConstraints:^(MASConstraintMaker *make) { + make.centerX.mas_equalTo(cell.contentView.mas_centerX); + make.left.mas_equalTo(cell.contentView.mas_left).offset(77.); + make.bottom.mas_equalTo(cell.contentView.mas_bottom); + make.height.mas_equalTo(@44); + }]; } else if (indexPath.section == 3) { - [cell.contentView addSubview:self.actionSwitch]; - [self.actionSwitch mas_remakeConstraints:^(MASConstraintMaker *make) { - make.trailing.mas_equalTo(@(-17)); +// [cell.contentView addSubview:self.actionSwitch]; +// [self.actionSwitch mas_remakeConstraints:^(MASConstraintMaker *make) { +// make.trailing.mas_equalTo(@(-16)); +// make.centerY.mas_equalTo(cell.contentView.mas_centerY); +// make.width.mas_equalTo(@51); +// make.height.mas_equalTo(@31); +// }]; + [cell.contentView addSubview:self.actionRightArrow]; + [self.actionRightArrow mas_remakeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(@(-16)); make.centerY.mas_equalTo(cell.contentView.mas_centerY); - make.width.mas_equalTo(@51); - make.height.mas_equalTo(@31); + make.width.mas_equalTo(@16); + make.height.mas_equalTo(@16); }]; + separatorLine.hidden = NO; } else if (indexPath.section == 4) { [cell.contentView addSubview:self.videoSwitch]; [self.videoSwitch mas_remakeConstraints:^(MASConstraintMaker *make) { - make.trailing.mas_equalTo(@(-17)); + make.trailing.mas_equalTo(@(-16)); make.centerY.mas_equalTo(cell.contentView.mas_centerY); make.width.mas_equalTo(@51); make.height.mas_equalTo(@31); }]; + separatorLine.hidden = NO; } else { @@ -244,17 +397,18 @@ [cell.contentView addSubview:self.currentVersionLabel]; [self.currentVersionLabel mas_remakeConstraints:^(MASConstraintMaker *make) { make.leading.mas_equalTo(@140); - make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-34); + make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-16); make.centerY.mas_equalTo(cell.contentView.mas_centerY); make.height.mas_equalTo(@20); }]; + separatorLine.hidden = NO; } else { [cell.contentView addSubview:self.nVersionLabel]; [self.nVersionLabel mas_remakeConstraints:^(MASConstraintMaker *make) { make.leading.mas_equalTo(@140); - make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-34); + make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-16); make.centerY.mas_equalTo(cell.contentView.mas_centerY); make.height.mas_equalTo(@20); }]; @@ -269,18 +423,50 @@ return cell; } -- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section -{ - return 5.0f; +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { + return ((!self.isCatEye && indexPath.section == 8) || (self.isCatEye && indexPath.section == 6)) ? (self.mirrorFlipCommand && self.mirrorFlipCommand.length > 0 ? 192 : 92) : 50.; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + return 0.0001f; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { + return (section == 0 || section == 2 || (!self.isCatEye && section == 6)) ? 8.0f : 0.001f; +} + +- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + return nil; +} + +- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { + return nil; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath animated:YES]; - if (indexPath.section == 6) + if (indexPath.section == 8) { - UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"鍙栨秷") destructiveButtonTitle:NSLocalizedString(@"delete",@"鍒犻櫎") otherButtonTitles:nil]; - [actionSheet showInView:self.view]; +// UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"鍙栨秷") destructiveButtonTitle:NSLocalizedString(@"delete",@"鍒犻櫎") otherButtonTitles:nil]; +// [actionSheet showInView:self.view]; + +// __weak __typeof(self)weakSelf = self; +// UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; +// +// [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"cancel", @"鍙栨秷") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { +// [weakSelf dismissViewControllerAnimated:YES completion:^{ +// }]; +// }]]; +// +// [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"delete",@"鍒犻櫎") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) { +// [weakSelf deleteCurrentDevice]; +// [weakSelf dismissViewControllerAnimated:YES completion:^{ +// }]; +// }]]; +// +// [self presentViewController:actionSheet animated:YES completion:nil]; + } // else if (indexPath.section == 5) // { @@ -293,10 +479,34 @@ else if (indexPath.section == 2 && indexPath.row == 1 && self.updateImageView.hidden == NO) { [self performSegueWithIdentifier:@"go2Upgrade" sender:nil]; - } - else if (indexPath.section == 1) + }else if (indexPath.section == 3) { + HDLEZDetectionTypeViewController *detectionTypeVC = [[HDLEZDetectionTypeViewController alloc] init]; + detectionTypeVC.deviceInfo = self.deviceInfo; + [self.navigationController pushViewController:detectionTypeVC animated:YES]; + } + else if (indexPath.section == 7) + { + UIAlertController *alert=[UIAlertController alertControllerWithTitle:HDLEZLocallizedString(@"alert_title") message:HDLEZLocallizedString(@"setting_formatting_alert_message") preferredStyle:UIAlertControllerStyleAlert]; + UIAlertAction *cancle=[UIAlertAction actionWithTitle:HDLEZLocallizedString(@"device_temp_cancle") style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { + }]; + UIAlertAction *sure=[UIAlertAction actionWithTitle:HDLEZLocallizedString(@"device_temp_sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { + [EZOPENSDK formatStorage:self.deviceInfo.deviceSerial + storageIndex:0 + completion:^(NSError *error) { + if (error) { + NSLog(@"format command error = %@", error); + [UIView dd_showMessage:NSLocalizedString(@"setting_sd_card_fail", @"鏍煎紡鍖栧け璐ワ紝璇烽噸鏂板啀璇�")]; + } else { + NSLog(@"format command error = %@", error); + [UIView dd_showMessage:NSLocalizedString(@"setting_sd_card_success", @"鏍煎紡鍖栨垚鍔�")]; + } + }]; + }]; + [alert addAction:cancle]; + [alert addAction:sure]; + [self presentViewController:alert animated:YES completion:nil]; } } @@ -353,17 +563,57 @@ } #pragma mark - UIActionSheetDelegate Methods +- (void)deleteCurrentDevice { + __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; + hud.labelText = NSLocalizedString(@"message_deleting", @"姝e湪鍒犻櫎锛岃绋嶅��..."); -- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex -{ - if(buttonIndex == 0) - { - __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) + [EZHttpUtil.sharedManager deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) { + [hud hide:YES]; + if(responseData.success) { + 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; + } + } + } else { + NSString *mes = [NSString stringWithFormat:@"%@(%@)",NSLocalizedString(@"setting_opration_fail", @"鎿嶄綔澶辫触"),responseData.code]; + [self.view makeToast:mes duration:2.0 position:@"center"]; + } + }]; +} + +//- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex +//{ +// if(buttonIndex == 0) +// { +// __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) +//// { +//// [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.sharedManager deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) { +// [hud hide:YES]; +// if(responseData.success) // { -// [hud hide:YES]; // NSArray *viewControllers = self.navigationController.viewControllers; // for (UIViewController *vc in viewControllers) // { @@ -374,29 +624,16 @@ // break; // } // } +// }else{ +// NSString *mes = [NSString stringWithFormat:@"%@(%@)",NSLocalizedString(@"setting_opration_fail", @"鎿嶄綔澶辫触"),responseData.code]; +// +// [self.view makeToast:mes duration:2.0 position:@"center"]; // } // }]; - - [EZHttpUtil deleteDeviceByHDL:self.deviceInfo.deviceSerial completion:^(ResponseData *responseData) { - if(responseData.success) - { - [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; - } - } - } - }]; - - - } -} +// +// +// } +//} #pragma mark - UIAlertViewDelegate Methods @@ -461,6 +698,42 @@ [[NSUserDefaults standardUserDefaults] synchronize]; } +- (IBAction)privacyMasking:(id)sender { + UISwitch *pmSwitch = (UISwitch*)sender; + BOOL status = pmSwitch.isOn; + +// if (self.privacyMasking) { +// self.privacyMaskSwitch.on = !status; +// [UIView dd_showMessage:@"姝e湪鎵ц涓紝璇风◢鍚庡啀璇�"]; +// return; +// } +// +// NSLog(@"#############璁剧疆鐘舵�侊細%@", status ? @"寮�鍚�" : @"鍏抽棴"); + __weak __typeof(self)weakSelf = self; + self.privacyMaskSwitch.enabled = NO; + self.privacyMaskButton.hidden = NO; + [self performSelector:@selector(delayPrivacyMasking) withObject:nil afterDelay:10.0]; + [EZHttpUtil.sharedManager coverSwitchStatus:self.deviceInfo.deviceSerial enable:(status ? 1 : 0) completion:^(ResponseData * _Nonnull responseData) { + if(responseData.success) { + NSLog(@"#############璁剧疆鎴愬姛锛�%@", responseData.data); + } else { + NSLog(@"#############璁剧疆澶辫触锛�%@", responseData.message); + [UIView dd_showMessage:NSLocalizedString(@"setting_privacy_masking_fail", @"璁剧疆澶辫触锛岃绋嶅悗鍐嶈瘯")]; + [weakSelf.privacyMaskSwitch setOn:!status]; + } + weakSelf.privacyMaskSwitch.enabled = YES; + }]; +} + +- (void)privacyMaskingAction:(id)sender { + [UIView dd_showMessage:NSLocalizedString(@"setting_privacy_masking_ing", @"姝e湪鎵ц涓紝璇风◢鍚庡啀璇�")]; +} + +- (void)delayPrivacyMasking { + self.privacyMaskButton.hidden = YES; +// self.privacyMaskSwitch.enabled = YES; +} + - (IBAction)encryptChanged:(id)sender { if(!self.videoSwitch.on) @@ -492,4 +765,75 @@ } } +- (void)deleteAction { + __weak __typeof(self)weakSelf = self; + UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet]; + + [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"cancel", @"鍙栨秷") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { + [weakSelf dismissViewControllerAnimated:YES completion:^{ + }]; + }]]; + + [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"delete",@"鍒犻櫎") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) { + [weakSelf deleteCurrentDevice]; + [weakSelf dismissViewControllerAnimated:YES completion:^{ + }]; + }]]; + + [self presentViewController:actionSheet animated:YES completion:nil]; +} + +- (void)mirrorFlipAction { + __weak MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; + __weak __typeof(self)weakSelf = self; + [[EZHttpUtil sharedManager] setPtzMiroor:self.deviceInfo.deviceSerial command:self.mirrorFlipCommand completion:^(ResponseData * _Nonnull responseData) { + NSLog(@"#######璁剧疆闀滃儚缈昏浆鍊艰繑鍥炵粨鏋滐細%@", [responseData yy_modelToJSONString]); + [hud hide:YES]; + if (responseData.success) { + [UIView dd_showMessage:NSLocalizedString(@"api_mirror_flip_success", @"鐢婚潰缈昏浆鎴愬姛")]; + } else { + [UIView dd_showMessage:responseData.message]; + } + }]; +} + +#pragma mark - Getter +- (UIButton *)deleteButton { + if (!_deleteButton) { + _deleteButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _deleteButton.backgroundColor = [UIColor whiteColor]; + [_deleteButton setTitle:NSLocalizedString(@"delete", @"鍒犻櫎") forState:UIControlStateNormal]; + [_deleteButton setTitleColor:HDLEZHEXCOLOR(0xFF4747, 1.0) forState:UIControlStateNormal]; + _deleteButton.titleLabel.font = HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_16); + _deleteButton.layer.cornerRadius = 22.; + _deleteButton.clipsToBounds = YES; + } + return _deleteButton; +} + +- (UIButton *)privacyMaskButton { + if (!_privacyMaskButton) { + _privacyMaskButton = [UIButton buttonWithType:UIButtonTypeCustom]; + _privacyMaskButton.backgroundColor = [UIColor clearColor]; + _privacyMaskButton.hidden = YES; + } + return _privacyMaskButton; +} + +- (UIImageView *)actionRightArrow { + if (!_actionRightArrow) { + _actionRightArrow = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"hdl_ez_list_next"]]; + _actionRightArrow.contentMode = UIViewContentModeScaleAspectFill; + _actionRightArrow.backgroundColor = UIColor.clearColor; + } + return _actionRightArrow; +} + +- (HDLEZMirrorFlipView *)mirrorFlipView { + if (!_mirrorFlipView) { + _mirrorFlipView = [[HDLEZMirrorFlipView alloc] initWithFrame:CGRectMake(0, 0, HDLEZ_APP_SCREEN_WIDTH, 100)]; + } + return _mirrorFlipView; +} + @end -- Gitblit v1.8.0