From 0de4cf306d8e13fd57b3e04bfb81362a10f12a4d Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期一, 10 七月 2023 16:10:53 +0800
Subject: [PATCH] feature UI补全

---
 EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 101 insertions(+), 16 deletions(-)

diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
index 9ae55a2..95f6ae0 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
@@ -34,8 +34,11 @@
 @property (nonatomic, weak) IBOutlet UILabel *nVersionLabel;
 @property (nonatomic, weak) IBOutlet UIImageView *updateImageView;
 @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;    // 闅愮閬斀璁剧疆涓�
 
 @end
 
@@ -50,6 +53,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;
     
@@ -81,8 +92,10 @@
         self.videoSwitch.on = self.deviceInfo.isEncrypt;
     }
     [_settingList addObject:@[NSLocalizedString(@"setting_hardware_decoding", @"纭В鐮�")]];
-    [_settingList addObject:@[NSLocalizedString(@"setting_privacy_masking", @"闅愮閬斀")]];
-    [_settingList addObject:@[NSLocalizedString(@"setting_sd_card_formatting", @"SD鍗℃牸寮忓寲")]];
+    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;
@@ -104,6 +117,12 @@
     [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);
 //    }];
@@ -170,7 +189,15 @@
     __weak __typeof(self)weakSelf = self;
     [EZHttpUtil.sharedManager getCoverSwitchStatus:self.deviceInfo.deviceSerial completion:^(ResponseData * _Nonnull responseData) {
         if(responseData.success) {
-            NSLog(@"#############鎵撳嵃鏁版嵁锛�%@", responseData);
+            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;
         }
     }];
 }
@@ -195,6 +222,7 @@
     cell.textLabel.textColor = HDLEZHEXCOLOR(0x1B2D4D, 1.0);
     cell.textLabel.textAlignment = NSTextAlignmentLeft;
     cell.accessoryType = UITableViewCellAccessoryNone;
+    cell.accessoryView = nil;
     if (indexPath.section == 0)
     {
         [cell.contentView addSubview:self.nameLabel];
@@ -235,14 +263,27 @@
     }
     else if (indexPath.section == 6)
     {
-        [cell.contentView addSubview:self.privacyMaskSwitch];
-        [self.privacyMaskSwitch mas_remakeConstraints:^(MASConstraintMaker *make) {
-            make.trailing.mas_equalTo(@(-17));
-            make.centerY.mas_equalTo(cell.contentView.mas_centerY);
-            make.width.mas_equalTo(@51);
-            make.height.mas_equalTo(@31);
-        }];
-        self.privacyMaskSwitch.on = !self.privacyMaskSwitch.on;
+        if (self.isCatEye) {    // 鐚溂
+            cell.backgroundColor = [UIColor clearColor];
+            cell.contentView.backgroundColor = [UIColor clearColor];
+            cell.textLabel.text = @"";
+            [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(@(-17));
+                make.centerY.mas_equalTo(cell.contentView.mas_centerY);
+                make.width.mas_equalTo(@51);
+                make.height.mas_equalTo(@31);
+            }];
+        }
     }
     else if (indexPath.section == 7)
     {
@@ -321,7 +362,7 @@
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
-    return (indexPath.section == 8) ? 92 : 50.;
+    return ((!self.isCatEye && indexPath.section == 8) || (self.isCatEye && indexPath.section == 6)) ? 92 : 50.;
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
@@ -329,7 +370,7 @@
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
-    return (section == 0 || section == 2 || section == 6) ? 8.0f : 0.001f;
+    return (section == 0 || section == 2 || (!self.isCatEye && section == 6)) ? 8.0f : 0.001f;
 }
 
 - (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
@@ -382,13 +423,17 @@
         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) {
         }];
-        __weak __typeof(self)weakSelf = self;
         UIAlertAction *sure=[UIAlertAction actionWithTitle:HDLEZLocallizedString(@"device_temp_sure") style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
             [EZOPENSDK formatStorage:self.deviceInfo.deviceSerial
                         storageIndex:0
                           completion:^(NSError *error) {
-                NSLog(@"format command error = %@", error);
-                [UIView dd_showMessage:error.description];
+                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];
@@ -588,6 +633,37 @@
 - (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
@@ -653,4 +729,13 @@
     return _deleteButton;
 }
 
+- (UIButton *)privacyMaskButton {
+    if (!_privacyMaskButton) {
+        _privacyMaskButton = [UIButton buttonWithType:UIButtonTypeCustom];
+        _privacyMaskButton.backgroundColor = [UIColor clearColor];
+        _privacyMaskButton.hidden = YES;
+    }
+    return _privacyMaskButton;
+}
+
 @end

--
Gitblit v1.8.0