From f338bb377a9e2f87f876cf8c5f0124d84da85bea Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期三, 15 三月 2023 14:18:40 +0800 Subject: [PATCH] 1.引入自定义button和scrollview 2.引入时间选择器组件 3.完善临时密码功能 4.修改部分类名 --- EZSDK/EZSDK/EZ/PrefixHeader.pch | 3 EZSDK/EZSDK/EZ/Global/HDLEZConstants.h | 7 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.m | 231 +++++++ EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVisitorRecordCell.m | 14 EZSDK/EZSDK/EZ/Global/HDLEZConstants.m | 20 EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimePickerView.h | 107 +++ EZSDK/EZSDK.xcodeproj/project.pbxproj | 66 ++ EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Modules/module.modulemap | 6 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.h | 37 + EZSDK/EZSDK/EZ/Base/HDLEZScrollView.h | 16 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.h | 26 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.m | 112 +++ EZSDK/EZSDK/EZ/Base/HDLEZScrollView.m | 17 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.h | 21 EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.h | 6 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.m | 239 +++++++ EZSDK/EZSDK/EZ/Base/HDLEZButton.m | 24 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.h | 25 EZSDK/EZSDK/EZ/Base/HDLEZButton.h | 18 EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.m | 43 + EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.h | 31 + EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/FQDateTimeSDK | 0 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.m | 67 ++ EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Info.plist | 0 EZSDK/EZSDK/EZ/Base/HDLEZBaseViewController.m | 3 EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimeSDK.h | 18 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.h | 18 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.m | 71 ++ EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.m | 101 +++ /dev/null | 240 -------- EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.m | 112 +++ EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZVisitorRecordViewController.m | 43 + EZSDK/EZSDK/EZ/Global/EZHttpUtil.m | 4 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.h | 22 34 files changed, 1,507 insertions(+), 261 deletions(-) diff --git a/EZSDK/EZSDK.xcodeproj/project.pbxproj b/EZSDK/EZSDK.xcodeproj/project.pbxproj index b7eb3da..aef42c9 100644 --- a/EZSDK/EZSDK.xcodeproj/project.pbxproj +++ b/EZSDK/EZSDK.xcodeproj/project.pbxproj @@ -10,12 +10,22 @@ AE5068D829B9DB5E009EA09A /* HDLEZTemInfoModel.m in Sources */ = {isa = PBXBuildFile; fileRef = AE5068D729B9DB5E009EA09A /* HDLEZTemInfoModel.m */; }; AEC306D229B9F2B5000B3861 /* HDLEZVisitorRecordView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEC306D129B9F2B5000B3861 /* HDLEZVisitorRecordView.m */; }; AEC306D529B9F2DB000B3861 /* HDLEZVisitorRecordCell.m in Sources */ = {isa = PBXBuildFile; fileRef = AEC306D429B9F2DB000B3861 /* HDLEZVisitorRecordCell.m */; }; + AEDD437F29BED161001D9477 /* HDLEZButton.m in Sources */ = {isa = PBXBuildFile; fileRef = AEDD437D29BED161001D9477 /* HDLEZButton.m */; }; + AEDD438229BEE6C2001D9477 /* HDLEZCreatTempPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEDD438029BEE6C2001D9477 /* HDLEZCreatTempPassViewController.m */; }; + AEDD438529BEE6D2001D9477 /* HDLEZCreateTemPassView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEDD438429BEE6D2001D9477 /* HDLEZCreateTemPassView.m */; }; + AEDD438929BEF0CD001D9477 /* HDLEZNormalCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEDD438829BEF0CD001D9477 /* HDLEZNormalCellView.m */; }; + AEDD438C29BF2C50001D9477 /* HDLEZInputViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEDD438B29BF2C50001D9477 /* HDLEZInputViewController.m */; }; + AEDD438F29BF2C78001D9477 /* HDLEZInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEDD438E29BF2C78001D9477 /* HDLEZInputView.m */; }; AEDD944129B0329D00EAA2CA /* libEZOpenSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AEDD940729B0329D00EAA2CA /* libEZOpenSDK.a */; }; + AEE4704529C03DA300480163 /* FQDateTimeSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AEE4704429C03DA300480163 /* FQDateTimeSDK.framework */; }; + AEE4704C29C061AC00480163 /* HDLEZTempDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE4704B29C061AC00480163 /* HDLEZTempDetailViewController.m */; }; + AEE4704F29C061DF00480163 /* HDLEZTempDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE4704E29C061DF00480163 /* HDLEZTempDetailView.m */; }; AEE84D3B29BABAC00078FDAD /* HDLEZVisitorRecordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE84D3929BABABF0078FDAD /* HDLEZVisitorRecordViewController.m */; }; AEE84D3F29BAC5BF0078FDAD /* HDLEZBaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE84D3D29BAC5BC0078FDAD /* HDLEZBaseViewController.m */; }; AEE84D4329BAC7FE0078FDAD /* HDLEZConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE84D4129BAC7F90078FDAD /* HDLEZConstants.m */; }; AEE84D4629BACBAD0078FDAD /* HDLEZTopBarView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE84D4429BACBAA0078FDAD /* HDLEZTopBarView.m */; }; AEE84D4929BAE2590078FDAD /* HDLEZNoDataView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEE84D4829BAE2590078FDAD /* HDLEZNoDataView.m */; }; + AEF0148F29C188ED00D014FD /* HDLEZScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = AEF0148E29C188ED00D014FD /* HDLEZScrollView.m */; }; B95AB87E26984D49007BC8D7 /* HDLAlarmInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = B95AB87D26984D49007BC8D7 /* HDLAlarmInfo.m */; }; B95AB88726984DD5007BC8D7 /* NSObject+YYModel.m in Sources */ = {isa = PBXBuildFile; fileRef = B95AB88426984DD5007BC8D7 /* NSObject+YYModel.m */; }; B95AB88826984DD5007BC8D7 /* YYClassInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = B95AB88526984DD5007BC8D7 /* YYClassInfo.m */; }; @@ -175,6 +185,18 @@ AEC306D129B9F2B5000B3861 /* HDLEZVisitorRecordView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZVisitorRecordView.m; sourceTree = "<group>"; }; AEC306D329B9F2DA000B3861 /* HDLEZVisitorRecordCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZVisitorRecordCell.h; sourceTree = "<group>"; }; AEC306D429B9F2DB000B3861 /* HDLEZVisitorRecordCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZVisitorRecordCell.m; sourceTree = "<group>"; }; + AEDD437D29BED161001D9477 /* HDLEZButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZButton.m; sourceTree = "<group>"; }; + AEDD437E29BED161001D9477 /* HDLEZButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZButton.h; sourceTree = "<group>"; }; + AEDD438029BEE6C2001D9477 /* HDLEZCreatTempPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZCreatTempPassViewController.m; sourceTree = "<group>"; }; + AEDD438129BEE6C2001D9477 /* HDLEZCreatTempPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZCreatTempPassViewController.h; sourceTree = "<group>"; }; + AEDD438329BEE6D2001D9477 /* HDLEZCreateTemPassView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZCreateTemPassView.h; sourceTree = "<group>"; }; + AEDD438429BEE6D2001D9477 /* HDLEZCreateTemPassView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZCreateTemPassView.m; sourceTree = "<group>"; }; + AEDD438729BEF0CD001D9477 /* HDLEZNormalCellView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZNormalCellView.h; sourceTree = "<group>"; }; + AEDD438829BEF0CD001D9477 /* HDLEZNormalCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZNormalCellView.m; sourceTree = "<group>"; }; + AEDD438A29BF2C50001D9477 /* HDLEZInputViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HDLEZInputViewController.h; sourceTree = "<group>"; }; + AEDD438B29BF2C50001D9477 /* HDLEZInputViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HDLEZInputViewController.m; sourceTree = "<group>"; }; + AEDD438D29BF2C78001D9477 /* HDLEZInputView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HDLEZInputView.h; sourceTree = "<group>"; }; + AEDD438E29BF2C78001D9477 /* HDLEZInputView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HDLEZInputView.m; sourceTree = "<group>"; }; AEDD940729B0329D00EAA2CA /* libEZOpenSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libEZOpenSDK.a; sourceTree = "<group>"; }; AEDD940929B0329D00EAA2CA /* EZConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZConstants.h; sourceTree = "<group>"; }; AEDD940A29B0329D00EAA2CA /* EZHCNetDeviceSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZHCNetDeviceSDK.h; sourceTree = "<group>"; }; @@ -230,6 +252,11 @@ AEDD943E29B0329D00EAA2CA /* EZSADPDeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZSADPDeviceInfo.h; sourceTree = "<group>"; }; AEDD943F29B0329D00EAA2CA /* EZStorageInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZStorageInfo.h; sourceTree = "<group>"; }; AEDD944029B0329D00EAA2CA /* EZConstants_WifiConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZConstants_WifiConfig.h; sourceTree = "<group>"; }; + AEE4704429C03DA300480163 /* FQDateTimeSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FQDateTimeSDK.framework; sourceTree = "<group>"; }; + AEE4704A29C061AC00480163 /* HDLEZTempDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HDLEZTempDetailViewController.h; sourceTree = "<group>"; }; + AEE4704B29C061AC00480163 /* HDLEZTempDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HDLEZTempDetailViewController.m; sourceTree = "<group>"; }; + AEE4704D29C061DF00480163 /* HDLEZTempDetailView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HDLEZTempDetailView.h; sourceTree = "<group>"; }; + AEE4704E29C061DF00480163 /* HDLEZTempDetailView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HDLEZTempDetailView.m; sourceTree = "<group>"; }; AEE84D3929BABABF0078FDAD /* HDLEZVisitorRecordViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZVisitorRecordViewController.m; sourceTree = "<group>"; }; AEE84D3A29BABAC00078FDAD /* HDLEZVisitorRecordViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZVisitorRecordViewController.h; sourceTree = "<group>"; }; AEE84D3D29BAC5BC0078FDAD /* HDLEZBaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZBaseViewController.m; sourceTree = "<group>"; }; @@ -240,6 +267,8 @@ AEE84D4529BACBAD0078FDAD /* HDLEZTopBarView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZTopBarView.h; sourceTree = "<group>"; }; AEE84D4729BAE2550078FDAD /* HDLEZNoDataView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZNoDataView.h; sourceTree = "<group>"; }; AEE84D4829BAE2590078FDAD /* HDLEZNoDataView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZNoDataView.m; sourceTree = "<group>"; }; + AEF0148D29C188EC00D014FD /* HDLEZScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLEZScrollView.h; sourceTree = "<group>"; }; + AEF0148E29C188ED00D014FD /* HDLEZScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLEZScrollView.m; sourceTree = "<group>"; }; B95AB87C26984D49007BC8D7 /* HDLAlarmInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HDLAlarmInfo.h; sourceTree = "<group>"; }; B95AB87D26984D49007BC8D7 /* HDLAlarmInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HDLAlarmInfo.m; sourceTree = "<group>"; }; B95AB88226984DD5007BC8D7 /* YYClassInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YYClassInfo.h; sourceTree = "<group>"; }; @@ -618,6 +647,7 @@ files = ( AEDD944129B0329D00EAA2CA /* libEZOpenSDK.a in Frameworks */, B9BC99F425C0FFBD00C024FE /* libcrypto.a in Frameworks */, + AEE4704529C03DA300480163 /* FQDateTimeSDK.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -639,6 +669,12 @@ children = ( AEE84D3A29BABAC00078FDAD /* HDLEZVisitorRecordViewController.h */, AEE84D3929BABABF0078FDAD /* HDLEZVisitorRecordViewController.m */, + AEDD438129BEE6C2001D9477 /* HDLEZCreatTempPassViewController.h */, + AEDD438029BEE6C2001D9477 /* HDLEZCreatTempPassViewController.m */, + AEDD438A29BF2C50001D9477 /* HDLEZInputViewController.h */, + AEDD438B29BF2C50001D9477 /* HDLEZInputViewController.m */, + AEE4704A29C061AC00480163 /* HDLEZTempDetailViewController.h */, + AEE4704B29C061AC00480163 /* HDLEZTempDetailViewController.m */, ); path = Controllers; sourceTree = "<group>"; @@ -650,6 +686,14 @@ AEC306D129B9F2B5000B3861 /* HDLEZVisitorRecordView.m */, AEC306D329B9F2DA000B3861 /* HDLEZVisitorRecordCell.h */, AEC306D429B9F2DB000B3861 /* HDLEZVisitorRecordCell.m */, + AEDD438329BEE6D2001D9477 /* HDLEZCreateTemPassView.h */, + AEDD438429BEE6D2001D9477 /* HDLEZCreateTemPassView.m */, + AEDD438729BEF0CD001D9477 /* HDLEZNormalCellView.h */, + AEDD438829BEF0CD001D9477 /* HDLEZNormalCellView.m */, + AEDD438D29BF2C78001D9477 /* HDLEZInputView.h */, + AEDD438E29BF2C78001D9477 /* HDLEZInputView.m */, + AEE4704D29C061DF00480163 /* HDLEZTempDetailView.h */, + AEE4704E29C061DF00480163 /* HDLEZTempDetailView.m */, ); path = Views; sourceTree = "<group>"; @@ -743,6 +787,10 @@ AEE84D3C29BAC3CA0078FDAD /* Base */ = { isa = PBXGroup; children = ( + AEF0148D29C188EC00D014FD /* HDLEZScrollView.h */, + AEF0148E29C188ED00D014FD /* HDLEZScrollView.m */, + AEDD437E29BED161001D9477 /* HDLEZButton.h */, + AEDD437D29BED161001D9477 /* HDLEZButton.m */, AEE84D4729BAE2550078FDAD /* HDLEZNoDataView.h */, AEE84D4829BAE2590078FDAD /* HDLEZNoDataView.m */, AEE84D4529BACBAD0078FDAD /* HDLEZTopBarView.h */, @@ -814,6 +862,7 @@ B9BC97D425C0FFB600C024FE /* Venders */ = { isa = PBXGroup; children = ( + AEE4704429C03DA300480163 /* FQDateTimeSDK.framework */, B95AB88126984DD5007BC8D7 /* YYModel */, B9EA4E5325C7E805000FFDA2 /* MJRefresh */, B9BC97D525C0FFB600C024FE /* UITableView-FDTemplateLayoutCell */, @@ -1488,6 +1537,7 @@ B9BC99EA25C0FFBD00C024FE /* UIImage+GIF.m in Sources */, B9BC99E825C0FFBD00C024FE /* UIImageView+HighlightedWebCache.m in Sources */, B9EA4E8C25C7E806000FFDA2 /* MJRefreshBackNormalFooter.m in Sources */, + AEDD438F29BF2C78001D9477 /* HDLEZInputView.m in Sources */, B9BC9A2125C0FFBD00C024FE /* EZLocationAlertVCViewController.m in Sources */, B9BC99D025C0FFBD00C024FE /* UIViewController+DDKit.m in Sources */, B9BC99F625C0FFBD00C024FE /* Aspects.m in Sources */, @@ -1496,6 +1546,7 @@ B9EA4E8925C7E806000FFDA2 /* UIView+MJExtension.m in Sources */, B9BC99FA25C0FFBD00C024FE /* Toast+UIView.m in Sources */, B9BC9A1525C0FFBD00C024FE /* EZAPConfigResultViewController.m in Sources */, + AEDD437F29BED161001D9477 /* HDLEZButton.m in Sources */, B9BC9A1025C0FFBD00C024FE /* EZMessagePhotoViewController.m in Sources */, B9BC999C25C0FFBD00C024FE /* UITableView+FDKeyedHeightCache.m in Sources */, B9BC9A1725C0FFBD00C024FE /* EZEncryptCameraCell.m in Sources */, @@ -1521,6 +1572,7 @@ B9BC99CD25C0FFBD00C024FE /* NSArray+DDKit.m in Sources */, B9BC999D25C0FFBD00C024FE /* UITableView+FDTemplateLayoutCellDebug.m in Sources */, B9BC999E25C0FFBD00C024FE /* UITableView+FDIndexPathHeightCache.m in Sources */, + AEDD438929BEF0CD001D9477 /* HDLEZNormalCellView.m in Sources */, B9BC99F325C0FFBD00C024FE /* UIButton+WebCache.m in Sources */, B9BC99B925C0FFBD00C024FE /* MWTapDetectingImageView.m in Sources */, B9BC99DE25C0FFBD00C024FE /* AFHTTPRequestOperationManager.m in Sources */, @@ -1570,6 +1622,7 @@ B9BC9A0725C0FFBD00C024FE /* EZWifiConfigViewController.m in Sources */, B9BC9A1325C0FFBD00C024FE /* EZLocalRealPlayViewController.m in Sources */, B9BC9A2725C0FFBD00C024FE /* EZAddByQRCodeViewController.m in Sources */, + AEDD438529BEE6D2001D9477 /* HDLEZCreateTemPassView.m in Sources */, B9BC99FC25C0FFBD00C024FE /* NSDate-Utilities.m in Sources */, B9BC9A0425C0FFBD00C024FE /* MessageListCell.m in Sources */, B9EA4E8525C7E806000FFDA2 /* UIScrollView+MJRefresh.m in Sources */, @@ -1581,18 +1634,22 @@ B9BC99CC25C0FFBD00C024FE /* UIColor+DDKit.m in Sources */, AEE84D3F29BAC5BF0078FDAD /* HDLEZBaseViewController.m in Sources */, B9BC99DC25C0FFBD00C024FE /* AFURLConnectionOperation.m in Sources */, + AEE4704F29C061DF00480163 /* HDLEZTempDetailView.m in Sources */, B9BC99E525C0FFBD00C024FE /* MKAnnotationView+WebCache.m in Sources */, B9BC9A0F25C0FFBD00C024FE /* EZDeviceResultViewController.m in Sources */, B9BC99E425C0FFBD00C024FE /* UIImage+WebP.m in Sources */, + AEDD438229BEE6C2001D9477 /* HDLEZCreatTempPassViewController.m in Sources */, B9EA4E8E25C7E806000FFDA2 /* MJRefreshAutoGifFooter.m in Sources */, B9BC99FB25C0FFBD00C024FE /* EZRecordCell.m in Sources */, B9BC9A0625C0FFBD00C024FE /* EZCameraTableViewController.m in Sources */, B9EA4E8625C7E806000FFDA2 /* MJRefreshConst.m in Sources */, + AEE4704C29C061AC00480163 /* HDLEZTempDetailViewController.m in Sources */, B9BC99FD25C0FFBD00C024FE /* HIKLoadViewItem+configPath.m in Sources */, B9BC99E325C0FFBD00C024FE /* MBProgressHUD.m in Sources */, B9EA4E8F25C7E806000FFDA2 /* MJRefreshAutoNormalFooter.m in Sources */, AE5068D829B9DB5E009EA09A /* HDLEZTemInfoModel.m in Sources */, B9BC99BB25C0FFBD00C024FE /* MWTapDetectingView.m in Sources */, + AEDD438C29BF2C50001D9477 /* HDLEZInputViewController.m in Sources */, B9BC99F725C0FFBD00C024FE /* EZQRView.m in Sources */, B9BC9A1F25C0FFBD00C024FE /* EZSettingViewController.m in Sources */, B9EA4E9725C7E806000FFDA2 /* MJRefreshComponent.m in Sources */, @@ -1610,6 +1667,7 @@ B9EA4E8B25C7E806000FFDA2 /* MJRefreshBackStateFooter.m in Sources */, B9BC99A125C0FFBD00C024FE /* DDCollectionViewFlowLayout.m in Sources */, B9BC9A1E25C0FFBD00C024FE /* EZWifiInfoViewController.m in Sources */, + AEF0148F29C188ED00D014FD /* HDLEZScrollView.m in Sources */, B9BC9A1925C0FFBD00C024FE /* EZAPWiFiConfigViewController.m in Sources */, B95AB88826984DD5007BC8D7 /* YYClassInfo.m in Sources */, B95AB88726984DD5007BC8D7 /* NSObject+YYModel.m in Sources */, @@ -1740,6 +1798,10 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 259RU5K4MU; ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/EZSDK/EZ/Venders", + ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "$(PROJECT_DIR)/EZSDK/EZ/PrefixHeader.pch"; @@ -1763,6 +1825,10 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 259RU5K4MU; ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/EZSDK/EZ/Venders", + ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_PREFIX_HEADER = "$(PROJECT_DIR)/EZSDK/EZ/PrefixHeader.pch"; diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZBaseViewController.m b/EZSDK/EZSDK/EZ/Base/HDLEZBaseViewController.m index 3364aff..6ca2e86 100755 --- a/EZSDK/EZSDK/EZ/Base/HDLEZBaseViewController.m +++ b/EZSDK/EZSDK/EZ/Base/HDLEZBaseViewController.m @@ -25,7 +25,6 @@ self.view.backgroundColor=HDLEZ_COLOR_VIEW_BACKGROUND; [self addSubViews]; - // Do any additional setup after loading the view. } @@ -74,6 +73,7 @@ - (HDLEZTopBarView *)topBarView{ if (!_topBarView) { _topBarView = [[HDLEZTopBarView alloc] initWithFrame: CGRectMake(0, 0, HDLEZ_APP_SCREEN_WIDTH, 40)]; + [_topBarView.leftButton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside]; [_topBarView.backButton addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside]; } return _topBarView; @@ -105,4 +105,5 @@ -(void)clickRightBtn{ } + @end diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZButton.h b/EZSDK/EZSDK/EZ/Base/HDLEZButton.h new file mode 100644 index 0000000..33a3fd3 --- /dev/null +++ b/EZSDK/EZSDK/EZ/Base/HDLEZButton.h @@ -0,0 +1,18 @@ +// +// HDLOPPButton.h +// HDLOnProIpad +// +// Created by 闄堝惎鎵� on 2022/8/16. +// + +#import <UIKit/UIKit.h> + +NS_ASSUME_NONNULL_BEGIN + +@interface HDLEZButton : UIButton +@property (nonatomic, assign) CGFloat tapWidth;//鍙偣鍑诲搴� +@property (nonatomic, assign) CGFloat tapHeight;//鍙偣鍑婚珮搴� + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZButton.m b/EZSDK/EZSDK/EZ/Base/HDLEZButton.m new file mode 100644 index 0000000..d33259b --- /dev/null +++ b/EZSDK/EZSDK/EZ/Base/HDLEZButton.m @@ -0,0 +1,24 @@ +// +// HDLOPPButton.m +// HDLOnProIpad +// +// Created by 闄堝惎鎵� on 2022/8/16. +// + +#import "HDLEZButton.h" + +@implementation HDLEZButton + + + +-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent*)event +{ + CGRect bounds = self.bounds; + //鎵╁ぇ鍘熺儹鍖虹洿寰勮嚦26锛屽彲浠ユ毚闇蹭釜鎺ュ彛锛岀敤鏉ヨ缃渶瑕佹墿澶х殑鍗婂緞銆� + CGFloat widthDelta = MAX(self.tapWidth, 0); + CGFloat heightDelta = MAX(self.tapHeight, 0); + bounds = CGRectInset(bounds, -0.5 * widthDelta, -0.5 * heightDelta); + return CGRectContainsPoint(bounds, point); +} + +@end diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZScrollView.h b/EZSDK/EZSDK/EZ/Base/HDLEZScrollView.h new file mode 100644 index 0000000..21f2917 --- /dev/null +++ b/EZSDK/EZSDK/EZ/Base/HDLEZScrollView.h @@ -0,0 +1,16 @@ +// +// SQLScrollView.h +// SQLScrollview +// + +// + +#import <UIKit/UIKit.h> + +NS_ASSUME_NONNULL_BEGIN + +@interface HDLEZScrollView : UIScrollView<UIGestureRecognizerDelegate> + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZScrollView.m b/EZSDK/EZSDK/EZ/Base/HDLEZScrollView.m new file mode 100644 index 0000000..28b0a59 --- /dev/null +++ b/EZSDK/EZSDK/EZ/Base/HDLEZScrollView.m @@ -0,0 +1,17 @@ +// +// SQLScrollView.m +// SQLScrollview +// +// Created by Mr - 瀹� on 2022/7/30. +// + +#import "HDLEZScrollView.h" + +@implementation HDLEZScrollView + +- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ + return YES; +} + + +@end diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.h b/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.h index 24b6d02..04196b4 100755 --- a/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.h +++ b/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.h @@ -11,11 +11,13 @@ @interface HDLEZTopBarView : UIView -@property (nonatomic, strong) UIButton *backButton;//杩斿洖鎸夐挳 -@property (nonatomic, strong) UIButton *rightButton;//鍙宠竟鎸夐挳 +@property (nonatomic, strong) HDLEZButton *leftButton;//宸﹁竟鎸夐挳 +@property (nonatomic, strong) HDLEZButton *backButton;//杩斿洖鎸夐挳 +@property (nonatomic, strong) HDLEZButton *rightButton;//鍙宠竟鎸夐挳 @property (nonatomic, strong) UILabel *titleLabel;//鏍囬 @property (nonatomic, strong) UIView *bottomLine;//涓嬪垝绾� @property (nonatomic, copy) NSString *rightBtnTitle;//鍙宠竟鎸夐挳鏍囬 +@property (nonatomic, copy) NSString *leftBtnTitle;//宸﹁竟鎸夐挳鏍囬 -(void)setTitle:(NSString *)title; diff --git a/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.m b/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.m index 4f16694..df59c22 100755 --- a/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.m +++ b/EZSDK/EZSDK/EZ/Base/HDLEZTopBarView.m @@ -24,7 +24,10 @@ [self addSubview:self.titleLabel]; [self addSubview:self.bottomLine]; [self addSubview:self.rightButton]; + [self addSubview:self.leftButton]; [self.rightButton setHidden:YES]; + [self.leftButton setHidden:YES]; + [self.bottomLine setHidden:YES]; } return self; } @@ -32,13 +35,32 @@ - (UIButton*)backButton{ if(!_backButton){ //buttonWithType UIButtonTypeSystem 璁剧疆tintColor 灏卞彲浠ユ敼鍙樺浘鐗囩殑棰滆壊 - _backButton = [UIButton buttonWithType:UIButtonTypeSystem]; - _backButton.frame = CGRectMake(16, HDLEZ_APP_STATUS_BAR_HEIGHT+(40-20)/2, 12, 20); + _backButton = [HDLEZButton buttonWithType:UIButtonTypeSystem]; + _backButton.frame = CGRectMake(16, HDLEZ_APP_STATUS_BAR_HEIGHT+(44-20)/2, 12, 20); [_backButton setImage:[UIImage imageNamed:@"hdl_ez_ic_nav_back"] forState:UIControlStateNormal]; + _backButton.tapHeight=40; + _backButton.tapWidth=80; + //鎸夐挳鍥炬爣棰滆壊 _backButton.tintColor = HDLEZ_COLOR_TEXT; } return _backButton; +} + +/*宸﹁竟鎸夐挳 + */ +-(UIButton*)leftButton{ + if(!_leftButton){ + //buttonWithType UIButtonTypeSystem 璁剧疆tintColor 灏卞彲浠ユ敼鍙樺浘鐗囩殑棰滆壊 + _leftButton = [HDLEZButton buttonWithType:UIButtonTypeSystem]; + _leftButton.frame = CGRectMake(16, HDLEZ_APP_STATUS_BAR_HEIGHT+(44-20)/2, 80, 20); + [_leftButton setTitleColor:HDLEZ_COLOR_TEXT_TITLE_GRAY forState:UIControlStateNormal]; + _leftButton.titleLabel.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_14); + _leftButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; + _leftButton.tapHeight=40; + _leftButton.tapWidth=80; + } + return _leftButton; } - (UILabel *)titleLabel{ @@ -63,10 +85,13 @@ if(!_rightButton){ //buttonWithType UIButtonTypeSystem 璁剧疆tintColor 灏卞彲浠ユ敼鍙樺浘鐗囩殑棰滆壊 // _rightButton = [UIButton buttonWithType:UIButtonTypeSystem]; - _rightButton=[[UIButton alloc] init]; - _rightButton.frame = CGRectMake(HDLEZ_APP_SCREEN_WIDTH-16-60, HDLEZ_APP_STATUS_BAR_HEIGHT, 60, 44); + _rightButton=[[HDLEZButton alloc] init]; + _rightButton.frame = CGRectMake(HDLEZ_APP_SCREEN_WIDTH-12-32, HDLEZ_APP_STATUS_BAR_HEIGHT+(44-32)/2, 32, 32); [_rightButton setTitleColor:HDLEZ_COLOR_TEXT_LIGHT_BLUE forState:UIControlStateNormal]; _rightButton.titleLabel.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_14); + _rightButton.tapHeight=44; + _rightButton.tapWidth=44; + //鎸夐挳鍥炬爣棰滆壊 // _backButton.tintColor = HDLEZ_COLOR_TEXT; } @@ -94,7 +119,15 @@ } -//璁剧疆鍙宠竟鎸夐挳鏍囬 +/*璁剧疆宸﹁竟鎸夐挳鏍囬 + */ +-(void)setLeftBtnTitle:(NSString *)leftBtnTitle{ + _leftBtnTitle=leftBtnTitle; + [_leftButton setHidden:NO]; + [_leftButton setTitle:leftBtnTitle forState:UIControlStateNormal]; +} +/*璁剧疆鍙宠竟鎸夐挳鏍囬 + */ -(void)setRightBtnTitle:(NSString *)rightBtnTitle{ _rightBtnTitle=rightBtnTitle; [_rightButton setHidden:NO]; diff --git a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m index c9f2102..2d5042c 100644 --- a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m +++ b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m @@ -329,7 +329,7 @@ parameters = [self GetSignRequestDictionary:parameters]; - NSLog(@"娣诲姞涓存椂瀵嗙爜鍙傛暟锛�%@",parameters); + NSLog(@"娣诲姞涓存椂瀵嗙爜鍙傛暟1锛�%@",parameters); [self requestHttpsPost:API_POST_EZ_AddTemp parameters:parameters completion:^(ResponseData *responseData) { if (completion) { @@ -421,6 +421,8 @@ completion(responseData); return; }]; + }else{ + completion(responseData); } }]; }else{ diff --git a/EZSDK/EZSDK/EZ/Global/HDLEZConstants.h b/EZSDK/EZSDK/EZ/Global/HDLEZConstants.h index e590f45..9d25246 100755 --- a/EZSDK/EZSDK/EZ/Global/HDLEZConstants.h +++ b/EZSDK/EZSDK/EZ/Global/HDLEZConstants.h @@ -79,6 +79,7 @@ #define HDLEZ_COLOR_BACKGROUND_BUTTON HDLEZHEXCOLOR(0x4484F4,1.0) //鎸夐挳鑳屾櫙棰滆壊 #define HDLEZ_COLOR_BACKGROUND_BUTTON_GRAY HDLEZHEXCOLOR(0xC0C7D4,1.0) //鎸夐挳鐏拌儗鏅鑹� #define HDLEZ_COLOR_BACKGROUND_LINE HDLEZHEXCOLOR(0xECEDEE,1.0) //涓嬪垝绾胯儗鏅鑹� +#define HDLEZ_COLOR_BACKGROUND_LINE_RED HDLEZHEXCOLOR(0xFF5757,1.0) //绾胯儗鏅孩棰滆壊 //瀛椾綋澶у皬 @@ -90,6 +91,7 @@ #define HDLEZ_FontSize_14 14 // 灏忔爣棰樺瓧鍙� 14 #define HDLEZ_FontSize_24 24 // 灏忔爣棰樺瓧鍙� 24 #define HDLEZ_FontSize_18 18 // 灏忔爣棰樺瓧鍙� 18 +#define HDLEZ_FontSize_26 26 // 灏忔爣棰樺瓧鍙� 26 #define HDLEZ_APP_UIFont @"PingFangSC-Regular"//鑻规柟-绠� 甯歌浣� #define HDLEZ_APP_UIFont_BOLD @"PingFangSC-Semibold"//鑻规柟-绠� 涓矖浣� @@ -178,4 +180,9 @@ */ +(NSString *)turnDateString:(NSString*)dateString toFormater:(NSString*)formater; + +/*鍒ゆ柇鏄惁涓虹函鏁板瓧 + @param number 鍐呭 + */ ++(BOOL)validateNumber:(NSString*)number; @end diff --git a/EZSDK/EZSDK/EZ/Global/HDLEZConstants.m b/EZSDK/EZSDK/EZ/Global/HDLEZConstants.m index c10fa7d..365ba78 100755 --- a/EZSDK/EZSDK/EZ/Global/HDLEZConstants.m +++ b/EZSDK/EZSDK/EZ/Global/HDLEZConstants.m @@ -287,4 +287,24 @@ return targetDateStr; } + + +/*鍒ゆ柇鏄惁涓虹函鏁板瓧 + @param number 鍐呭 + */ ++(BOOL)validateNumber:(NSString*)number{ + BOOL res = YES; + NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; + int i = 0; + while (i < number.length) { + NSString * string = [number substringWithRange:NSMakeRange(i, 1)]; + NSRange range = [string rangeOfCharacterFromSet:tmpSet]; + if (range.length == 0) { + res = NO; + break; + } + i++; + } + return res; +} @end diff --git a/EZSDK/EZSDK/EZ/PrefixHeader.pch b/EZSDK/EZSDK/EZ/PrefixHeader.pch index 056c09a..f684773 100644 --- a/EZSDK/EZSDK/EZ/PrefixHeader.pch +++ b/EZSDK/EZSDK/EZ/PrefixHeader.pch @@ -26,6 +26,9 @@ #import "GlobalKit.h" #import "EZHttpUtil.h" #import "EZSDK.h" +#import "MBProgressHUD.h" + +#import "HDLEZButton.h" #import "HDLEZConstants.h" diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.h b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.h new file mode 100755 index 0000000..fce1bf4 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.h @@ -0,0 +1,26 @@ +// +// HDLFVTempPassViewController.h +// Ezviz +// +// Created by 闄堝惎鎵� on 2022/4/22. +// Copyright 漏 2022 hdl. All rights reserved. +// + +#import "HDLEZBaseViewController.h" +#import "HDLEZCreateTemPassView.h" +//#import "HDLFVTemPDetailModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface HDLEZCreatTempPassViewController : HDLEZBaseViewController +//@property(nonatomic,assign)HDLFVTemPassType temPassType;//涓存椂瀵嗙爜绫诲瀷 + +@property(nonatomic,copy)NSString *deviceId;//璁惧id + +@property(nonatomic,strong)HDLEZTemInfoModel *temPdetailModel;//涓存椂瀵嗙爜model + +@property(nonatomic,assign)BOOL isShowDetail;//鍒ゆ柇鏄惁浠庡垪琛ㄧ偣鍑昏繘鏉ョ湅璇︽儏鐨勶紙鐢ㄤ簬鍒ゆ柇鍙栨秷鍚庢槸鍚﹂渶瑕佽嚜鍔ㄨ繑鍥炲垪琛級 + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.m new file mode 100755 index 0000000..f638a04 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.m @@ -0,0 +1,231 @@ +// +// HDLFVTempPassViewController.m +// Ezviz +// +// Created by 闄堝惎鎵� on 2022/4/22. +// Copyright 漏 2022 hdl. All rights reserved. +// + +#import "HDLEZCreatTempPassViewController.h" +#import "HDLEZCreateTemPassView.h" +#import "HDLEZInputViewController.h" +#import <FQDateTimeSDK/FQDateTimeSDK.h> +#import "HDLEZTempDetailViewController.h" +typedef enum { + HDLEZPickTimeType_Effective=0, //鐢熸晥 + HDLEZPickTimeType_Expire=1,//澶辨晥 +}HDLEZPickTimeType; + +@interface HDLEZCreatTempPassViewController ()<HDLEZInputViewControllerDelegate,FQDateTimePickerViewDelegate> +@property(nonatomic,strong)HDLEZCreateTemPassView *tempView; //涓存椂瀵嗙爜view + +@property (nonatomic, copy)NSString *selectedEffectiveTime;//宸查�夋嫨鐨勭敓鏁堟椂闂� +@property (nonatomic, copy)NSString *selectedExpireTime;//宸查�夋嫨鐨勫け鏁堟椂闂� + +@property(nonatomic,assign)HDLEZPickTimeType pickTimeType;//閫夋嫨鏃堕棿绫诲瀷 + +@property(nonatomic,strong)HDLEZTemInfoModel *addTemPModel;//娣诲姞涓存椂瀵嗙爜model + + +@end + +@implementation HDLEZCreatTempPassViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + + [self setTopBarViewWithTitle:HDLEZLocallizedString(@"device_temp_pass")]; + //淇濆瓨鎸夐挳 + self.topBarView.rightButton.frame = CGRectMake(HDLEZ_APP_SCREEN_WIDTH-16-50, HDLEZ_APP_STATUS_BAR_HEIGHT+(44-20)/2, 50, 20); + self.topBarView.rightButton.titleLabel.textAlignment=NSTextAlignmentRight; + self.topBarView.rightBtnTitle=HDLEZLocallizedString(@"device_temp_save"); + [self.topBarView.rightButton addTarget:self action:@selector(saveTemp) forControlEvents:UIControlEventTouchUpInside]; + + _addTemPModel=[[HDLEZTemInfoModel alloc] init]; + _addTemPModel.limitCount=@"-1"; + // Do any additional setup after loading the view. +} + +-(void)addSubViews{ + + + + //涓存椂瀵嗙爜view + _tempView=[[HDLEZCreateTemPassView alloc] init]; + [self.view addSubview:_tempView]; + [_tempView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.view).offset(HDLEZ_APP_TOP_BAR_HEIGHT); + make.left.right.equalTo(self.view); + make.bottom.equalTo(self.view); + }]; +// _tempView.temPassType=self.temPassType; + __weak __typeof(self)weakSelf = self; + _tempView.userV.clickBtn = ^{//鐐瑰嚮浣跨敤浜� + [weakSelf inputWithType:HDLEZInputType_User title:HDLEZLocallizedString(@"device_temp_user")]; + }; + _tempView.validTimeV.clickBtn = ^{//鐐瑰嚮寮�濮嬫椂闂� + [weakSelf selectEffectiveTime]; + }; + + _tempView.expireTimeV.clickBtn = ^{//鐐瑰嚮缁撴潫鏃堕棿 + [weakSelf selectExpirationTime]; + }; + + _tempView.useCountV.clickBtn = ^{//鐐瑰嚮浣跨敤娆℃暟 + [weakSelf inputWithType:HDLEZInputType_UseCount title:HDLEZLocallizedString(@"device_temp_use_times")]; + }; + + +} + + + + +/*鐐瑰嚮杈撳叆鍐呭 + @param inputType 杈撳叆绫诲瀷 + @param title 鏍囬 + */ +-(void)inputWithType:(HDLEZInputType)inputType title:(NSString *)title{ + HDLEZInputViewController *vc=[[HDLEZInputViewController alloc] init]; + vc.inputType=inputType; + vc.navTitle=title; + vc.inputDelegate=self; + vc.modalPresentationStyle = UIModalPresentationFullScreen; + [self presentViewController:vc animated:YES completion:nil]; +} + +/*鐐瑰嚮浜嗛�夋嫨鐢熸晥鏃堕棿 + */ +-(void)selectEffectiveTime{ + self.pickTimeType=HDLEZPickTimeType_Effective; + [self showDatePicker]; +} + +/*鐐瑰嚮浜嗛�夋嫨澶辨晥鏃堕棿 + */ +-(void)selectExpirationTime{ + self.pickTimeType=HDLEZPickTimeType_Expire; + [self showDatePicker]; + +} + +/*鐐瑰嚮浜嗕繚瀛樻寜閽� + */ +-(void)saveTemp{ + if (!_addTemPModel.userName||_addTemPModel.userName.length==0) {//鏈緭鍏ヤ娇鐢ㄤ汉 + HDLEZLog(@"鏈緭鍏ヤ娇鐢ㄤ汉:%@",_addTemPModel.userName); + [self.view makeToast:HDLEZLocallizedString(@"device_temp_please_input_user_name") + duration:1.5 + position:@"center"]; + return; + } + + if (!_addTemPModel.beginTime||_addTemPModel.beginTime.length==0) {//鏈�夋嫨寮�濮嬫椂闂� + [self.view makeToast:HDLEZLocallizedString(@"device_temp_please_select_begin_time") + duration:1.5 + position:@"center"]; + return; + } + + if (!_addTemPModel.endTime||_addTemPModel.endTime.length==0) {//鏈�夋嫨缁撴潫鏃堕棿 + [self.view makeToast:HDLEZLocallizedString(@"device_temp_please_select_end_time") + duration:1.5 + position:@"center"]; + return; + } + + if ([HDLEZConstants compareOneDay:[NSDate dateWithTimeIntervalSince1970:[self.addTemPModel.endTime integerValue]] withAnotherDay:[NSDate dateWithTimeIntervalSince1970:[self.addTemPModel.beginTime integerValue]]]==-1) {//缁撴潫鏃堕棿鏃╀簬寮�濮嬫椂闂� + [self.view makeToast:HDLEZLocallizedString(@"device_temp_please_end_time_should_later") + duration:1.5 + position:@"center"]; + return; + } + + [MBProgressHUD showHUDAddedTo:self.view animated:YES]; + __weak __typeof(self)weakSelf = self; + [[EZHttpUtil sharedManager] addTempByHDL:self.addTemPModel deviceId:self.deviceId completion:^(ResponseData * _Nonnull responseData) { + HDLEZLog(@"娣诲姞瀵嗙爜缁撴灉锛�%@",responseData.data); + [MBProgressHUD hideHUDForView:weakSelf.view animated:YES]; + if (responseData.success) { + [[NSNotificationCenter defaultCenter] postNotificationName:HDLEZNotificationChangeTemP object:nil]; + HDLEZTemInfoModel *tempInfo=[HDLEZTemInfoModel yy_modelWithDictionary:responseData.data]; + [weakSelf toTempDetailVWithTempInfo:tempInfo]; + }else{ + [weakSelf.view makeToast:responseData.message + duration:1.5 + position:@"center"]; + } + }]; + +} + +/*璺宠浆鍏嶅瘑璇︽儏椤� + */ +-(void)toTempDetailVWithTempInfo:(HDLEZTemInfoModel*)tempInfo{ + HDLEZTempDetailViewController *vc=[[HDLEZTempDetailViewController alloc] init]; + vc.temPdetailModel=tempInfo; + vc.deviceId=self.deviceId; + [self.navigationController pushViewController:vc animated:YES]; +} + +/*灞曠ず鏃堕棿閫夋嫨鍣� + */ +-(void)showDatePicker{ + FQDateTimePickerView *pickerView = [[FQDateTimePickerView alloc] init]; + pickerView.delegate = self; //閬靛惊浠g悊 + pickerView.pickerModel = FQDateTimePickerModelDateTime; //鏃ユ湡妯″紡 + pickerView.cancelColor = HDLEZ_COLOR_TEXT_LIGHT_GRAY; //鍙栨秷棰滆壊 + pickerView.confirmColor = HDLEZ_COLOR_TEXT_LIGHT_BLUE; //纭畾棰滆壊 + pickerView.cancelText=HDLEZLocallizedString(@"device_temp_cancle"); + pickerView.confirmText=HDLEZLocallizedString(@"device_temp_sure"); + pickerView.unitsData=@[HDLEZLocallizedString(@"device_temp_unit_year"),HDLEZLocallizedString(@"device_temp_unit_month"),HDLEZLocallizedString(@"device_temp_unit_date"),HDLEZLocallizedString(@"device_temp_unit_hour"),HDLEZLocallizedString(@"device_temp_unit_minute"),HDLEZLocallizedString(@"device_temp_unit_minute")]; + + pickerView.minDate = [NSDate new]; //鏈�灏忔椂闂� + + [pickerView showPicker]; //灞曠ず +} + + + +/*鏃堕棿杞瑂tring + @param date 鏃堕棿 + */ +-(NSString *)turnDate:(NSDate*)date{ + return [HDLEZConstants timeStrWithFormate:[NSString stringWithFormat:@"yyyy%@MM%@dd%@ HH:mm",HDLEZLocallizedString(@"device_temp_year"),HDLEZLocallizedString(@"device_temp_month"),HDLEZLocallizedString(@"device_temp_date")] data:date]; +} + +#pragma FQDateTimePickerViewDelegate +/// 纭鎿嶄綔 +/// @param date 鏃ユ湡NSDate +/// @param dateStr 鏃ユ湡NSString +/// @param target 鐢ㄤ簬鍖哄垎pickerView +- (void)confirmActionWithDate:(NSDate *)date withDateString:(NSString *)dateStr withTarget:(NSInteger)target{ + HDLEZLog(@"閫夋嫨鐨勬椂闂达細%.f",[date timeIntervalSince1970]); + if (self.pickTimeType==HDLEZPickTimeType_Effective) {//閫夋嫨鐢熸晥鏃堕棿 + _tempView.validTimeV.contentL.text=[self turnDate:date]; + self.addTemPModel.beginTime=[NSString stringWithFormat:@"%.f",[date timeIntervalSince1970]]; + }else{//閫夋嫨缁撴潫鏃堕棿 + _tempView.expireTimeV.contentL.text=[self turnDate:date]; + self.addTemPModel.endTime=[NSString stringWithFormat:@"%.f",[date timeIntervalSince1970]]; + } +} + +#pragma HDLEZInputViewControllerDelegate +/*杈撳叆浜嗗唴瀹� + @param content 鍐呭 + @param inputType 杈撳叆绫诲瀷 + */ +-(void)inputContent:(NSString *)content inputType:(HDLEZInputType)inputType{ + if (inputType==HDLEZInputType_User) { + _tempView.userV.contentL.text=content; + self.addTemPModel.userName=content; + }else{ + _tempView.useCountV.contentL.text=content; + self.addTemPModel.limitCount=content; + if (content.length==0) { + _tempView.useCountV.contentL.text=HDLEZLocallizedString(@"device_temp_unlimited_times"); + self.addTemPModel.limitCount=@"-1"; + } + } +} +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.h b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.h new file mode 100644 index 0000000..a17ac1c --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.h @@ -0,0 +1,31 @@ +// +// HDLEZInputViewController.h +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/13. +// + +#import "HDLEZBaseViewController.h" +#import "HDLEZInputView.h" + +NS_ASSUME_NONNULL_BEGIN + +@protocol HDLEZInputViewControllerDelegate <NSObject> +/*杈撳叆浜嗗唴瀹� + @param content 鍐呭 + @param inputType 杈撳叆绫诲瀷 + */ +-(void)inputContent:(NSString *)content inputType:(HDLEZInputType)inputType; +@end + +@interface HDLEZInputViewController : HDLEZBaseViewController +@property (nonatomic, copy)NSString *navTitle;//鏍囬 +@property (nonatomic, copy)NSString *describe;//鎻忚堪 + +@property (nonatomic, assign)HDLEZInputType inputType;//杈撳叆绫诲瀷 + +@property (nonatomic, weak) id<HDLEZInputViewControllerDelegate> inputDelegate;//浠g悊 + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.m new file mode 100644 index 0000000..bf0b1ab --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.m @@ -0,0 +1,67 @@ +// +// HDLEZInputViewController.m +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/13. +// + +#import "HDLEZInputViewController.h" +@interface HDLEZInputViewController () +@property(nonatomic,strong)HDLEZInputView *inputView; //杈撳叆view +@end + +@implementation HDLEZInputViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + //瀵艰埅鏍� + [self setTopBarViewWithTitle:self.navTitle]; + [self.topBarView.bottomLine setHidden:YES]; + //纭鎸夐挳 + self.topBarView.rightButton.frame = CGRectMake(HDLEZ_APP_SCREEN_WIDTH-16-50, HDLEZ_APP_STATUS_BAR_HEIGHT+(44-20)/2, 50, 20); + self.topBarView.rightButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight; + self.topBarView.rightBtnTitle=HDLEZLocallizedString(@"device_temp_sure"); + [self.topBarView.rightButton addTarget:self action:@selector(sure) forControlEvents:UIControlEventTouchUpInside]; + //鍙栨秷鎸夐挳 + [self.topBarView.backButton setImage:nil forState:UIControlStateNormal]; + self.topBarView.leftBtnTitle=HDLEZLocallizedString(@"device_temp_cancle"); + +} + +-(void)addSubViews{ + + //杈撳叆view + _inputView=[[HDLEZInputView alloc] init]; + [self.view addSubview:_inputView]; + [_inputView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.view).offset(HDLEZ_APP_TOP_BAR_HEIGHT); + make.left.bottom.right.equalTo(self.view); + }]; + _inputView.inputType=self.inputType; +} + +/*纭 + */ +-(void)sure{ + if (self.inputType==HDLEZInputType_UseCount) { + if (_inputView.inputTextF.text.length!=0&&![HDLEZConstants validateNumber:_inputView.inputTextF.text]) {//杈撳叆闈炵函鏁板瓧 + [self.view makeToast:HDLEZLocallizedString(@"device_temp_input_pure_number") + duration:1.5 + position:@"center"]; + return; + } + if (_inputView.inputTextF.text.length!=0&&([_inputView.inputTextF.text integerValue]>100||[_inputView.inputTextF.text integerValue]<1)){//杈撳叆澶т簬100鎴栧皬浜�1 + [self.view makeToast:HDLEZLocallizedString(@"device_temp_input_valid_number") + duration:1.5 + position:@"center"]; + return; + } + } + + if (self.inputDelegate&&[self.inputDelegate respondsToSelector:@selector(inputContent:inputType:)]) { + [self.inputDelegate inputContent:_inputView.inputTextF.text inputType:self.inputType]; + } + [self dismissViewControllerAnimated:YES completion:nil]; +} + +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.h b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.h new file mode 100644 index 0000000..a53eb2e --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.h @@ -0,0 +1,18 @@ +// +// HDLEZTempDetailViewController.h +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/14. +// + +#import "HDLEZBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface HDLEZTempDetailViewController : HDLEZBaseViewController +@property(nonatomic,strong)HDLEZTemInfoModel *temPdetailModel;//涓存椂瀵嗙爜model +@property(nonatomic,copy)NSString *deviceId;//璁惧id + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.m new file mode 100644 index 0000000..707bbd7 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.m @@ -0,0 +1,101 @@ +// +// HDLEZTempDetailViewController.m +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/14. +// + +#import "HDLEZTempDetailViewController.h" +#import "HDLEZTempDetailView.h" +#import "HDLEZVisitorRecordViewController.h" +@interface HDLEZTempDetailViewController () +@property(nonatomic,strong)HDLEZTempDetailView *tempDetailView; //涓存椂瀵嗙爜璇︽儏view + +@end + +@implementation HDLEZTempDetailViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self setTopBarViewWithTitle:HDLEZLocallizedString(@"device_temp_pass")]; + [self.topBarView.bottomLine setHidden:YES]; + // Do any additional setup after loading the view. +} + +-(void)addSubViews{ + + //涓存椂瀵嗙爜璇︽儏view + _tempDetailView=[[HDLEZTempDetailView alloc] init]; + [self.view addSubview:_tempDetailView]; + [_tempDetailView mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self.view).offset(HDLEZ_APP_TOP_BAR_HEIGHT); + make.left.right.equalTo(self.view); + make.bottom.equalTo(self.view); + }]; + _tempDetailView.temPdetailModel=self.temPdetailModel; + __weak __typeof(self)weakSelf = self; + _tempDetailView.longTapPassWordBlock = ^(NSString * _Nonnull content) {//闀挎寜瀵嗙爜 + UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; + pasteboard.string = content; + [weakSelf.view makeToast:HDLEZLocallizedString(@"device_temp_copied") + duration:1.5 + position:@"center"]; + }; + _tempDetailView.deletePassWordBlock = ^(NSString * _Nonnull content) {//鐐瑰嚮鍒犻櫎 + [weakSelf deletePass]; + }; + + +} + +/*鐐瑰嚮杩斿洖 + */ +-(void)goBack{ + NSArray *viewControllers = self.navigationController.viewControllers; + for (UIViewController *vc in viewControllers) + { + if ([vc isKindOfClass:[HDLEZVisitorRecordViewController class]]) + {//璺宠浆鍒颁复鏃跺瘑鐮佸垪琛ㄩ〉 + [self.navigationController popToViewController:vc animated:YES]; + break; + } + + } +} + +/*鍒犻櫎瀵嗙爜 + */ +-(void)deletePass{ + UIAlertController *alert=[UIAlertController alertControllerWithTitle:HDLEZLocallizedString(@"alert_title") message:HDLEZLocallizedString(@"device_temp_sure_to_delete") 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) { + [weakSelf sureToDelete]; + }]; + [alert addAction:cancle]; + [alert addAction:sure]; + [self presentViewController:alert animated:YES completion:nil]; + +} + +/*纭鍒犻櫎 + */ +-(void)sureToDelete{ + [MBProgressHUD showHUDAddedTo:self.view animated:YES]; + __weak __typeof(self)weakSelf = self; + [[EZHttpUtil sharedManager] deleteTempByHDL:_temPdetailModel.extVisitorId deviceId:self.deviceId completion:^(ResponseData * _Nonnull responseData) { + HDLEZLog(@"鍒犻櫎涓存椂瀵嗙爜缁撴灉锛�%@",responseData.data); + [MBProgressHUD hideHUDForView:weakSelf.view animated:YES]; + if (responseData.success) { + [[NSNotificationCenter defaultCenter] postNotificationName:HDLEZNotificationChangeTemP object:nil]; + [weakSelf goBack]; + }else{ + [weakSelf.view makeToast:responseData.message + duration:1.5 + position:@"center"]; + } + }]; +} +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZVisitorRecordViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZVisitorRecordViewController.m index 5b0c31d..d5fb9b0 100755 --- a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZVisitorRecordViewController.m +++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZVisitorRecordViewController.m @@ -10,8 +10,12 @@ #import "HDLEZVisitorRecordView.h" //#import "HDLFVTempPassViewController.h" //#import "HDLFVHttpRequestManager.h" +#import "MJRefreshNormalHeader.h" +#import "HDLEZCreatTempPassViewController.h" +#import "HDLEZTempDetailViewController.h" @interface HDLEZVisitorRecordViewController ()<HDLEZVisitorRecordViewDelegate> @property (nonatomic, strong) HDLEZVisitorRecordView *visitorRecordV; +@property (nonatomic, strong) MJRefreshNormalHeader *header; @end @@ -21,7 +25,11 @@ [super viewDidLoad]; [self setTopBarViewWithTitle:HDLEZLocallizedString(@"device_temp_pass")]; [self.topBarView.bottomLine setHidden:YES]; - + //娣诲姞鎸夐挳 + [self.topBarView.rightButton setHidden:NO]; + [self.topBarView.rightButton setBackgroundImage:[UIImage imageNamed:@"hdl_ez_temp_add"] forState:UIControlStateNormal]; + [self.topBarView.rightButton addTarget:self action:@selector(addTemp) forControlEvents:UIControlEventTouchUpInside]; + //娉ㄥ唽涓存椂瀵嗙爜鍒楄〃鍙樺寲閫氱煡 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notificationChangeTemP) name:HDLEZNotificationChangeTemP object:nil]; // Do any additional setup after loading the view. @@ -35,7 +43,7 @@ //涓存椂瀵嗙爜鍙樺寲閫氱煡 -(void)notificationChangeTemP{ - [self getTemPList]; + [_header beginRefreshing]; } -(void)addSubViews{ @@ -49,7 +57,18 @@ }]; _visitorRecordV.choseDelegate=self; - [self getTemPList]; + //涓嬫媺鍒锋柊 + // 璁剧疆鍥炶皟锛堜竴鏃﹁繘鍏ュ埛鏂扮姸鎬侊紝灏辫皟鐢╰arget鐨刟ction锛屼篃灏辨槸璋冪敤self鐨刲oadNewData鏂规硶锛� + _header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(getTemPList)]; + // 璁剧疆鑷姩鍒囨崲閫忔槑搴�(鍦ㄥ鑸爮涓嬮潰鑷姩闅愯棌) + _header.automaticallyChangeAlpha = YES; + // 闅愯棌鏃堕棿 + _header.lastUpdatedTimeLabel.hidden = YES; + // 闅愯棌鍒锋柊鐘舵�佹枃鏈� + _header.stateLabel.hidden = YES; + _visitorRecordV.mj_header=_header; + [_header beginRefreshing]; +// [self getTemPList]; } /*鑾峰彇涓存椂瀵嗙爜鍒楄〃 @@ -58,6 +77,7 @@ __weak __typeof(self)weakSelf = self; [[EZHttpUtil sharedManager] getTempListByHDL:self.deviceId completion:^(ResponseData * _Nonnull responseData) { HDLEZLog(@"涓存椂瀵嗙爜鍒楄〃锛�%@",responseData.data); + [weakSelf.header endRefreshing]; weakSelf.visitorRecordV.temPList=[NSArray yy_modelArrayWithClass:[HDLEZTemInfoModel class] json:responseData.data]; }]; } @@ -79,10 +99,17 @@ -(void)visitorRecordViewdidSelectRecord:(HDLEZTemInfoModel *)tempDetailModel{ -// HDLFVTempPassViewController *vc=[[HDLFVTempPassViewController alloc] init]; -// vc.temPassType=HDLFVTemPassType_Detail; -// vc.temPdetailModel=tempDetailModel; -// vc.isShowDetail=YES; -// [self.navigationController pushViewController:vc animated:YES ]; + HDLEZTempDetailViewController *vc=[[HDLEZTempDetailViewController alloc] init]; + vc.temPdetailModel=tempDetailModel; + vc.deviceId=self.deviceId; + [self.navigationController pushViewController:vc animated:YES ]; +} + +/*娣诲姞涓存椂瀵嗙爜 + */ +-(void)addTemp{ + HDLEZCreatTempPassViewController *vc=[[HDLEZCreatTempPassViewController alloc] init]; + vc.deviceId=self.deviceId; + [self.navigationController pushViewController:vc animated:YES]; } @end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.h b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.h deleted file mode 100755 index 7e90976..0000000 --- a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// HDLFVTempPassViewController.h -// Ezviz -// -// Created by 闄堝惎鎵� on 2022/4/22. -// Copyright 漏 2022 hdl. All rights reserved. -// - -#import "HDLFVBaseViewController.h" -//#import "HDLFVCreateTemPassView.h" -#import "HDLFVTemPDetailModel.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface HDLFVTempPassViewController : HDLFVBaseViewController -@property(nonatomic,assign)HDLFVTemPassType temPassType;//涓存椂瀵嗙爜绫诲瀷 - -@property(nonatomic,copy)NSString *deviceId;//璁惧id - -@property(nonatomic,strong)HDLFVTemPDetailModel *temPdetailModel;//涓存椂瀵嗙爜model - -@property(nonatomic,assign)BOOL isShowDetail;//鍒ゆ柇鏄惁浠庡垪琛ㄧ偣鍑昏繘鏉ョ湅璇︽儏鐨勶紙鐢ㄤ簬鍒ゆ柇鍙栨秷鍚庢槸鍚﹂渶瑕佽嚜鍔ㄨ繑鍥炲垪琛級 - -@end - -NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.m deleted file mode 100755 index 94ecf5b..0000000 --- a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.m +++ /dev/null @@ -1,339 +0,0 @@ -// -// HDLFVTempPassViewController.m -// Ezviz -// -// Created by 闄堝惎鎵� on 2022/4/22. -// Copyright 漏 2022 hdl. All rights reserved. -// - -#import "HDLFVTempPassViewController.h" -#import "HDLFVCreateTemPassView.h" -#import "HDLFVCommonButton.h" -#import "PGDatePickManager.h" -#import "HDLFVImageDetail.h" -#import "HDLFVVisitorRecordViewController.h" -#import "HDLFVAlert.h" -#import "HDLFVAddTemPassModel.h" -#import "HDLFVCancleTemPModel.h" -#import "HDLFVHttpRequestManager.h" - -typedef enum { - HDLFVPickTimeType_Effective=0, //鐢熸晥 - HDLFVPickTimeType_Expire=1,//澶辨晥 -}HDLFVPickTimeType; - -@interface HDLFVTempPassViewController ()<PGDatePickerDelegate> -@property(nonatomic,strong)HDLFVCreateTemPassView *tempView; //涓存椂瀵嗙爜view -@property (nonatomic, strong)HDLFVCommonButton *sureBtn;//纭鎸夐挳 - -@property(nonatomic,strong)PGDatePicker *datePicker;//鏃堕棿閫夋嫨鍣� - -@property (nonatomic, copy)NSString *selectedEffectiveTime;//宸查�夋嫨鐨勭敓鏁堟椂闂� -@property (nonatomic, copy)NSString *selectedExpireTime;//宸查�夋嫨鐨勫け鏁堟椂闂� - -@property(nonatomic,assign)HDLFVPickTimeType pickTimeType;//閫夋嫨鏃堕棿绫诲瀷 - -@property(nonatomic,strong)HDLFVImageDetail * imgD;// - -@property(nonatomic,strong)HDLFVAddTemPassModel *addTemPModel;//娣诲姞涓存椂瀵嗙爜model -@property(nonatomic,strong)HDLFVCancleTemPModel *cancleTemPModel;//鍙栨秷涓存椂瀵嗙爜model - - -@end - -@implementation HDLFVTempPassViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - - [self setTopBarViewWithTitle:HDLFVLocalizedString(@"Visitor Invitation")]; - - if (self.temPassType==HDLFVTemPassType_Generate) { - self.rightBtnTitle=HDLFVLocalizedString(@"Visitor Record"); - } - - // Do any additional setup after loading the view. -} - --(void)addSubViews{ - - //纭娣诲姞鎸夐挳 - _sureBtn=[[HDLFVCommonButton alloc] init]; - [self.view addSubview:_sureBtn]; - [_sureBtn mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.equalTo(self.view.mas_centerX); - make.bottom.equalTo(self.view).offset(-APP_TAB_BOTTOM_HEIGHT-20); - make.height.mas_equalTo(44); - make.width.mas_equalTo(HDLFVGetRealWidth(220)); - }]; - if (self.temPassType==HDLFVTemPassType_Detail) { - _sureBtn.titleName=HDLFVLocalizedString(@"Cancle Visitor Credentials"); - }else{ - _sureBtn.titleName=HDLFVLocalizedString(@"Generate Visitor Credentials"); - } - [_sureBtn addTarget:self action:@selector(sure) forControlEvents:UIControlEventTouchDown]; - - - - //涓存椂瀵嗙爜view - _tempView=[[HDLFVCreateTemPassView alloc] init]; - [self.view addSubview:_tempView]; - [_tempView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(self.view).offset(APP_TOP_BAR_HEIGHT); - make.left.right.equalTo(self.view); - make.bottom.equalTo(_sureBtn.mas_top).offset(-5); - }]; - _tempView.temPassType=self.temPassType; - WeakSelf(weakSelf); - _tempView.validTimeV.clickBtn = ^{ - [weakSelf selectEffectiveTime]; - }; - - _tempView.expireTimeV.clickBtn = ^{ - [weakSelf selectExpirationTime]; - }; - - _tempView.temPassInputV.clickBtn = ^{ - [weakSelf genarateTemPass]; - }; - - _tempView.clickQRCodeBlock = ^(UIImage * _Nonnull image) { - [weakSelf tapQRCode:image]; - }; - - _tempView.longTapQRCodeBlock = ^(UIImage * _Nonnull image) { - [weakSelf longTapQRCode:image]; - - }; - - //灞曠ず涓存椂鍑瘉璇︽儏 - if (self.temPassType==HDLFVTemPassType_Detail) { - - _tempView.phoneInputV.inputTextF.text=self.temPdetailModel.phone; - _tempView.temPassInputV.inputTextF.text=self.temPdetailModel.tempPwd; -// _tempView.useTimesInputV.inputTextF.text=self.temPdetailModel.useCount; - _tempView.validTimeV.contentL.text=[Constants turnDateString:self.temPdetailModel.validBeginTime toFormater:[NSString stringWithFormat:@"yyyy%@MM%@dd%@ HH:mm",HDLFVLocalizedString(@"Y"),HDLFVLocalizedString(@"M"),HDLFVLocalizedString(@"D")]]; - _tempView.expireTimeV.contentL.text=[Constants turnDateString:self.temPdetailModel.validEndTime toFormater:[NSString stringWithFormat:@"yyyy%@MM%@dd%@ HH:mm",HDLFVLocalizedString(@"Y"),HDLFVLocalizedString(@"M"),HDLFVLocalizedString(@"D")]]; - - _tempView.QRCodeImageV.image=[Constants creatCIQRCodeImage:_tempView.temPassInputV.inputTextF.text]; - self.selectedEffectiveTime=self.temPdetailModel.validBeginTime; - self.selectedExpireTime=self.temPdetailModel.validEndTime; - [_tempView showQRCode:YES]; - HDLFVLog(@"tempId鍚�:%@",self.temPdetailModel.ID); - - //鍒ゆ柇鏄惁杩囨湡 -// NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; -// [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; -// NSDate *date = [dateFormatter dateFromString:self.temPdetailModel.validEndTime]; -// if ([Constants compareOneDay:[NSDate date] withAnotherDay:date]==1) { -// _tempView.isInvalid=YES; -// } - - if (!self.temPdetailModel.status) { - HDLFVLog(@"瀵嗙爜鏃犳晥"); - _tempView.isInvalid=YES; - [_sureBtn setHidden:YES]; - } - - } - -} - -//鐐瑰嚮瀵艰埅鏍忓彸杈规寜閽� --(void)clickRightBtn{ - HDLFVLog(@"鐐瑰嚮浜嗗彸杈规寜閽�"); - HDLFVVisitorRecordViewController *vc=[[HDLFVVisitorRecordViewController alloc] init]; - [self.navigationController setNavigationBarHidden:YES]; - [self.navigationController pushViewController:vc animated:YES]; -} - - -/*鐐瑰嚮浜嗙敓鎴愪复鏃跺瘑鐮� - */ --(void)genarateTemPass{ - HDLFVLog(@"鐐瑰嚮鐢熸垚鍔ㄦ�佺爜"); - _tempView.temPassInputV.inputTextF.text=[FVTool randomNumerWithCount:6]; - -} - -/*鐐瑰嚮浜嗛�夋嫨鐢熸晥鏃堕棿 - */ --(void)selectEffectiveTime{ - self.pickTimeType=HDLFVPickTimeType_Effective; - [self showDatePicker]; -} - -/*鐐瑰嚮浜嗛�夋嫨澶辨晥鏃堕棿 - */ --(void)selectExpirationTime{ - self.pickTimeType=HDLFVPickTimeType_Expire; - [self showDatePicker]; - -} - -/*鐐瑰嚮浜嗙‘璁ゆ寜閽� - */ --(void)sure{ - if (_tempView.phoneInputV.inputTextF.text.length==0||_tempView.phoneInputV.inputTextF.text.length!=11) { - [HDLToast showTostWithMessage:HDLFVLocalizedString(@"Please enter a correct phone number")]; - return; - } - if (_tempView.temPassInputV.inputTextF.text.length!=6) { - [HDLToast showTostWithMessage:HDLFVLocalizedString(@"Input 6-digits temporary password")]; - return; - } -// if (_tempView.useTimesInputV.inputTextF.text.length==0) { -// [HDLToast showTostWithMessage:HDLFVLocalizedString(@"Input usage times")]; -// return; -// } - if (self.selectedEffectiveTime.length==0) { - [HDLToast showTostWithMessage:HDLFVLocalizedString(@"Please select a effective time")]; - return; - } - if (self.selectedExpireTime.length==0) { - [HDLToast showTostWithMessage:HDLFVLocalizedString(@"Please select a expire time")]; - return; - } - - WeakSelf(weakSelf); - HDLFVAlert *alert=[[HDLFVAlert alloc] init]; - if (self.temPassType==HDLFVTemPassType_Generate) { - self.addTemPModel=[[HDLFVAddTemPassModel alloc] init]; - self.addTemPModel.homeId=[HDLFVHttpRequestManager sharedInstance].currentUserId; - self.addTemPModel.phone=_tempView.phoneInputV.inputTextF.text; - self.addTemPModel.tempPwd=_tempView.temPassInputV.inputTextF.text; - self.addTemPModel.useCount=@"10000"; -// _addTemPModel.deviceId=_deviceId; - self.addTemPModel.validBeginTime=self.selectedEffectiveTime; - self.addTemPModel.validEndTime=self.selectedExpireTime; - - HDLFVLog(@"鐢熸垚锛�%@",self.addTemPModel); - - [alert showAlertWithTitle:HDLFVLocalizedString(@"Tips") message:HDLFVLocalizedString(@"After confirmation, the visitor QR code will be generated, and the 6-digit dynamic digital password SMS will also be sent to the visitor's mobile phone.") height:158 cancle:^{ - } sure:^{ - HDLFVLog(@"鐐瑰嚮浜嗙‘璁�"); - [weakSelf generateCredentials]; - }]; - }else{ - [alert showAlertWithTitle:HDLFVLocalizedString(@"Tips") message:HDLFVLocalizedString(@"You are canceling visitor credentials") height:158 cancle:^{ - } sure:^{ - HDLFVLog(@"鐐瑰嚮浜嗙‘璁�"); - [weakSelf cancleCredentials]; - }]; - } - -} - -/*鐐瑰嚮浜嗕簩缁寸爜 - */ --(void)tapQRCode:(UIImage *)QRImage{ - HDLFVLog(@"鐐瑰嚮浜嗕簩缁寸爜"); - _imgD=[[HDLFVImageDetail alloc] init]; - [_imgD showImage:QRImage describe:HDLFVLocalizedString(@"Long press the QR code to save the QR code to the album")]; - -} - -/*闀挎寜浜岀淮鐮� - */ --(void)longTapQRCode:(UIImage*)QRCImage{ - - [Constants saveImageToPhotosAlbum:QRCImage]; -} - -/*灞曠ず鏃堕棿閫夋嫨鍣� - */ --(void)showDatePicker{ - PGDatePickManager *datePickManager = [[PGDatePickManager alloc]init]; - datePickManager.isShadeBackgroud = true; - self.datePicker = datePickManager.datePicker; - self.datePicker.delegate = self; - - datePickManager.confirmButtonTextColor=HDLFV_COLOR_TEXT_LIGHT_BLUE; - datePickManager.confirmButtonFont=HDLFV_Get_FontRegularWithSize(HDLFV_FontSize_16); - datePickManager.headerViewBackgroundColor=HDLFV_COLOR_NAV_BACKGROUND; - datePickManager.cancelButtonTextColor=HDLFV_COLOR_TEXT_TITLE_GRAY; - datePickManager.cancelButtonFont=HDLFV_Get_FontRegularWithSize(HDLFV_FontSize_16); - - self.datePicker.datePickerMode = PGDatePickerModeDateHourMinute; - [self presentViewController:datePickManager animated:false completion:nil]; - -} - -/*鐢熸垚涓存椂鍑瘉 - */ --(void)generateCredentials{ - WeakSelf(weakSelf); - [HDLFVHUD showHudInView:self.view]; - [[HDLFVHttpRequestManager sharedInstance] addTemPassWithAddTemPassModel:self.addTemPModel success:^(NSString *_Nullable tempId) { - [HDLFVHUD hideHUDForView:weakSelf.view]; - [weakSelf generateTempSuccess:tempId]; - } fail:^(NSError * _Nullable error) { - [HDLFVHUD hideHUDForView:weakSelf.view]; - [HDLToast showTostWithMessage:error.localizedDescription]; - }]; -} - -/*鍙栨秷涓存椂鍑瘉 - */ --(void)cancleCredentials{ - WeakSelf(weakSelf); - [HDLFVHUD showHudInView:self.view]; - _cancleTemPModel=[[HDLFVCancleTemPModel alloc] init]; - _cancleTemPModel.homeId=[HDLFVHttpRequestManager sharedInstance].currentUserId; - HDLFVLog(@"tempId:%@",self.temPdetailModel.ID); - _cancleTemPModel.ID=self.temPdetailModel.ID; - [[HDLFVHttpRequestManager sharedInstance] deleteTemPassWithAddTemPassModel:_cancleTemPModel success:^{ - [HDLFVHUD hideHUDForView:weakSelf.view]; - [weakSelf cancleTempSuccess]; - } fail:^(NSError * _Nullable error) { - [HDLFVHUD hideHUDForView:weakSelf.view]; - [HDLToast showTostWithMessage:error.localizedDescription]; - }]; -} - -/*鐢熸垚涓存椂鍑瘉鎴愬姛 - */ --(void)generateTempSuccess:(NSString*)tempId{ - [_tempView showQRCode:YES]; - _tempView.QRCodeImageV.image=[Constants creatCIQRCodeImage:_tempView.temPassInputV.inputTextF.text]; - _tempView.temPassType=HDLFVTemPassType_Detail; - HDLFVLog(@"tempId:%@",tempId); - self.temPdetailModel=[[HDLFVTemPDetailModel alloc] init]; - self.temPdetailModel.ID=tempId; - _sureBtn.titleName=HDLFVLocalizedString(@"Cancle Visitor Credentials"); - self.temPassType=HDLFVTemPassType_Detail; -} - -/*鍙栨秷涓存椂鍑瘉鎴愬姛 - */ --(void)cancleTempSuccess{ - if (_isShowDetail) { - [[NSNotificationCenter defaultCenter] postNotificationName:HDLFVNotificationChangeTemP object:nil]; - [self.navigationController popViewControllerAnimated:YES]; - }else{ - [self.navigationController popViewControllerAnimated:YES]; -// -// _tempView.temPassType=HDLFVTemPassType_Generate; -// _sureBtn.titleName=HDLFVLocalizedString(@"Generate Visitor Credentials"); -// self.temPassType=HDLFVTemPassType_Generate; - } -} - - -#pragma PGDatePickerDelegate -- (void)datePicker:(PGDatePicker *)datePicker didSelectDate:(NSDateComponents *)dateComponents { - - NSString *sendTimeStr=[NSString stringWithFormat:@"%ld-%@-%@ %@:%@:00",dateComponents.year,[Constants autoFillZero:dateComponents.month],[Constants autoFillZero:dateComponents.day],[Constants autoFillZero:dateComponents.hour],[Constants autoFillZero:dateComponents.minute]];//璇锋眰鎺ュ彛鏍煎紡鐨勬椂闂� - NSString *showTimeStr=[NSString stringWithFormat:@"%ld%@%@%@%@%@ %@:%@",dateComponents.year,HDLFVLocalizedString(@"Y"),[Constants autoFillZero:dateComponents.month],HDLFVLocalizedString(@"M"),[Constants autoFillZero:dateComponents.day],HDLFVLocalizedString(@"D"),[Constants autoFillZero:dateComponents.hour],[Constants autoFillZero:dateComponents.minute]];//灞曠ず鏍煎紡鐨勬椂闂� - - if (self.pickTimeType==HDLFVPickTimeType_Effective) { - self.selectedEffectiveTime=sendTimeStr; - _tempView.validTimeV.contentL.text=showTimeStr; - }else{ - self.selectedExpireTime=sendTimeStr; - _tempView.expireTimeV.contentL.text=showTimeStr; - - } - -} -@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.h b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.h new file mode 100755 index 0000000..bca25cc --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.h @@ -0,0 +1,22 @@ +// +// HDLFVCreateTemPassView.h +// Ezviz +// +// Created by 闄堝惎鎵� on 2022/4/22. +// Copyright 漏 2022 hdl. All rights reserved. +// + +#import <UIKit/UIKit.h> +#import "HDLEZNormalCellView.h" +NS_ASSUME_NONNULL_BEGIN +@interface HDLEZCreateTemPassView : UIView + + +@property (nonatomic, strong)HDLEZNormalCellView *userV;//浣跨敤浜簐iew +@property (nonatomic, strong)HDLEZNormalCellView *validV;//鏈夋晥鏈焩iew +@property (nonatomic, strong)HDLEZNormalCellView *validTimeV;//鐢熸晥鏃堕棿view +@property (nonatomic, strong)HDLEZNormalCellView *expireTimeV;//澶辨晥鏃堕棿view +@property (nonatomic, strong)HDLEZNormalCellView *useCountV;//浣跨敤娆℃暟view +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.m b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.m new file mode 100755 index 0000000..ece064b --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.m @@ -0,0 +1,112 @@ +// +// HDLFVCreateTemPassView.m +// Ezviz +// +// Created by 闄堝惎鎵� on 2022/4/22. +// Copyright 漏 2022 hdl. All rights reserved. +// + +#import "HDLEZCreateTemPassView.h" +@interface HDLEZCreateTemPassView () + +@property (nonatomic, strong)UIView *expireV;//鏃犳晥View +@property (nonatomic, strong)UILabel *expireL;//鏃犳晥Lable + +@property (nonatomic, strong)UIScrollView *scrollV;//婊氬姩view + +@end +@implementation HDLEZCreateTemPassView + +-(instancetype)init{ + self = [super init]; + if (self) { +// _isShow=YES; +// _tempPassword=@""; + [self initUI]; + } + + return self; +} + +-(void)initUI{ + //婊氬姩view + _scrollV=[[UIScrollView alloc] init]; + if (@available(iOS 11.0, *)) { + _scrollV.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + [self addSubview:_scrollV]; + [_scrollV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self); + make.right.left.bottom.equalTo(self); + }]; + _scrollV.contentSize=CGSizeMake(HDLEZ_APP_SCREEN_WIDTH, 665); + + + //浣跨敤浜� + _userV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_userV]; + [_userV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_scrollV); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _userV.title= HDLEZLocallizedString(@"device_temp_user"); + _userV.titleL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_16); + [_userV.lineV setHidden:YES]; + + //鏈夋晥鏈� + _validV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_validV]; + [_validV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_userV.mas_bottom).offset(8); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _validV.title= HDLEZLocallizedString(@"device_temp_valid_date"); + _validV.titleL.textColor=HDLEZ_COLOR_TEXT_LIGHT_BLUE; + _validV.titleL.font=HDLEZ_Get_FontBoldWithSize(HDLEZ_FontSize_16); + [_validV hideNextImg]; + + //鐢熸晥鏃堕棿 + _validTimeV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_validTimeV]; + [_validTimeV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_validV.mas_bottom); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _validTimeV.title=HDLEZLocallizedString(@"device_temp_valid_begin"); + [_validTimeV hideNextImg]; + _validTimeV.contentL.text=HDLEZLocallizedString(@"device_temp_please_select"); + + //澶辨晥鏃堕棿 + _expireTimeV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_expireTimeV]; + [_expireTimeV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_validTimeV.mas_bottom); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _expireTimeV.title=HDLEZLocallizedString(@"device_temp_valid_end"); + [_expireTimeV.lineV setHidden:YES]; + [_expireTimeV hideNextImg]; + _expireTimeV.contentL.text=HDLEZLocallizedString(@"device_temp_please_select"); + + //浣跨敤娆℃暟 + _useCountV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_useCountV]; + [_useCountV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_expireTimeV.mas_bottom).offset(8); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _useCountV.title=HDLEZLocallizedString(@"device_temp_use_times"); + [_useCountV.lineV setHidden:YES]; + _useCountV.contentL.text=HDLEZLocallizedString(@"device_temp_unlimited_times"); + + + + +} + +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.h b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.h new file mode 100644 index 0000000..a6f7491 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.h @@ -0,0 +1,25 @@ +// +// HDLEZInputView.h +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/13. +// + +#import <UIKit/UIKit.h> + +typedef enum { + HDLEZInputType_User=0, //浣跨敤浜� + HDLEZInputType_UseCount=1,//浣跨敤娆℃暟 +}HDLEZInputType;//杈撳叆绫诲瀷 + +NS_ASSUME_NONNULL_BEGIN + +@interface HDLEZInputView : UIView +@property (nonatomic, strong)UITextField *inputTextF;//杈撳叆妗� +@property (nonatomic, strong)UILabel *describeL;//鎻忚堪lable + +@property (nonatomic, assign)HDLEZInputType inputType;//杈撳叆绫诲瀷 + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.m b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.m new file mode 100644 index 0000000..49ff890 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.m @@ -0,0 +1,71 @@ +// +// HDLEZInputView.m +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/13. +// + +#import "HDLEZInputView.h" + +@implementation HDLEZInputView + +-(instancetype)init{ + self = [super init]; + if (self) { + [self initUI]; + } + + return self; +} + + +-(void)initUI{ + self.backgroundColor = HDLEZ_COLOR_VIEW_BACKGROUND; + + //杈撳叆view + UIView *inputV=[[UIView alloc] init]; + [self addSubview:inputV]; + [inputV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + inputV.backgroundColor=HDLEZ_COLOR_VIEW_FOREGROUND; + + //杈撳叆妗� + _inputTextF=[[UITextField alloc] init]; + [inputV addSubview:_inputTextF]; + [_inputTextF mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(inputV); + make.left.equalTo(inputV).offset(16); + make.right.equalTo(inputV).offset(-16); + }]; + _inputTextF.placeholder=HDLEZLocallizedString(@"device_temp_please_input"); + _inputTextF.textColor=HDLEZ_COLOR_TEXT_TITLE_GRAY; + _inputTextF.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_16); + + //鎻忚堪lable + _describeL=[[UILabel alloc] init]; + [self addSubview:_describeL]; + [_describeL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(inputV.mas_bottom).offset(10); + make.left.equalTo(inputV).offset(16); + make.right.equalTo(inputV).offset(-16); + make.height.mas_equalTo(30); + }]; + _describeL.numberOfLines=2; + _describeL.adjustsFontSizeToFitWidth=YES; + _describeL.textColor=HDLEZ_COLOR_TEXT_TITLE_GRAY; + _describeL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_14); +} + + +/*璁剧疆杈撳叆绫诲瀷鍊� + */ +-(void)setInputType:(HDLEZInputType)inputType{ + _inputType=inputType; + if (inputType==HDLEZInputType_UseCount) {//涓鸿緭鍏ヤ娇鐢ㄦ鏁� + _inputTextF.keyboardType=UIKeyboardTypeASCIICapableNumberPad; + _describeL.text=HDLEZLocallizedString(@"device_temp_input_use_count_describe"); + } +} +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.h b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.h new file mode 100755 index 0000000..9a9799e --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.h @@ -0,0 +1,37 @@ +// +// HDLFVNormalCellView.h +// Ezviz +// +// Created by 闄堝惎鎵� on 2022/4/25. +// Copyright 漏 2022 hdl. All rights reserved. +// + +#import <UIKit/UIKit.h> + +typedef void (^HDLEZCellVoidBlock)(void); + +NS_ASSUME_NONNULL_BEGIN + +@interface HDLEZNormalCellView : UIView + +@property (nonatomic, strong)UILabel *titleL;//鏍囬Lable + +@property (nonatomic, copy)NSString *title;//鏍囬 + +@property (nonatomic, strong)UILabel *contentL;//鍐呭Lable + +@property (nonatomic, strong)UIView *lineV;//涓嬪垝绾� + + +@property (nonatomic, strong)UIButton *button;//鎸夐挳 + + +@property(nonatomic,strong)HDLEZCellVoidBlock clickBtn; //鐐瑰嚮鎸夐挳 + +/*闅愯棌鍙充晶绠ご + */ +-(void)hideNextImg; + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.m b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.m new file mode 100755 index 0000000..a042af0 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.m @@ -0,0 +1,112 @@ +// +// HDLFVNormalCellView.m +// Ezviz +// +// Created by 闄堝惎鎵� on 2022/4/25. +// Copyright 漏 2022 hdl. All rights reserved. +// + +#import "HDLEZNormalCellView.h" +@interface HDLEZNormalCellView () +@property (nonatomic, strong)UIImageView *nextImgV;//绠ご鍥炬爣 + +@end +@implementation HDLEZNormalCellView + +-(instancetype)init{ + self = [super init]; + if (self) { + [self initUI]; + } + + return self; +} + +-(void)initUI{ + self.backgroundColor=HDLEZ_COLOR_VIEW_FOREGROUND; + + //鏍囬lable + _titleL=[[UILabel alloc] init]; + [self addSubview:_titleL]; + [_titleL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(self); + make.left.equalTo(self).offset(16); + make.width.mas_equalTo(0); + }]; + _titleL.adjustsFontSizeToFitWidth=YES; + _titleL.textColor=HDLEZ_COLOR_TEXT_TITLE_GRAY; + _titleL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_14); + + //鍙崇澶� + _nextImgV=[[UIImageView alloc] init]; + [self addSubview:_nextImgV]; + [_nextImgV mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.equalTo(self).offset(-20); + make.centerY.equalTo(self.mas_centerY); + make.width.height.mas_equalTo(16); + }]; + _nextImgV.image=[UIImage imageNamed:@"hdl_ez_list_next"]; + + //鍐呭lable + _contentL=[[UILabel alloc] init]; + [self addSubview:_contentL]; + [_contentL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.bottom.equalTo(self); + make.left.equalTo(_titleL.mas_right).offset(5); + make.right.equalTo(_nextImgV.mas_left).offset(-5); + }]; + _contentL.adjustsFontSizeToFitWidth=YES; + _contentL.numberOfLines=2; + _contentL.textAlignment=NSTextAlignmentRight; + _contentL.textColor=HDLEZ_COLOR_TEXT_INPUT_PLACEHOLD_GRAY; + _contentL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_12); + + //涓嬪垝绾� + _lineV=[[UIView alloc] init]; + [self addSubview:_lineV]; + [_lineV mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.equalTo(self).offset(16); + make.bottom.equalTo(self); + make.right.equalTo(self).offset(-16); + make.height.mas_equalTo(1); + }]; + _lineV.backgroundColor=HDLEZ_COLOR_BACKGROUND_LINE; + + //鎸夐挳 + _button=[[UIButton alloc] init]; + [self addSubview:_button]; + [_button mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.bottom.equalTo(self); + }]; + [_button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; + + +} + +/*鐐瑰嚮鎸夐挳 + */ +-(void)buttonClick{ + if (self.clickBtn) { + self.clickBtn(); + } +} + +/*闅愯棌鍙充晶绠ご + */ +-(void)hideNextImg{ + [_nextImgV mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(0); + }]; + [_nextImgV setHidden:YES]; +} + +-(void)setTitle:(NSString *)title{ + _title=title; + CGSize titleSize=[title sizeWithAttributes:@{NSFontAttributeName:HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_14)}]; + [_titleL mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(titleSize.width+5); + }]; + _titleL.text=title; + +} +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.h b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.h new file mode 100644 index 0000000..b399a74 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.h @@ -0,0 +1,21 @@ +// +// HDLEZTempDetailView.h +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/14. +// + +#import <UIKit/UIKit.h> + +NS_ASSUME_NONNULL_BEGIN +typedef void (^HDLEZTempDetailBlock)(NSString* content); + +@interface HDLEZTempDetailView : UIView +@property(nonatomic,strong)HDLEZTemInfoModel *temPdetailModel;//涓存椂瀵嗙爜model + +@property(nonatomic,strong)HDLEZTempDetailBlock longTapPassWordBlock; //闀挎寜瀵嗙爜 +@property(nonatomic,strong)HDLEZTempDetailBlock deletePassWordBlock; //鍒犻櫎瀵嗙爜 + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.m b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.m new file mode 100644 index 0000000..b7c93b0 --- /dev/null +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.m @@ -0,0 +1,239 @@ +// +// HDLEZTempDetailView.m +// EZSDK +// +// Created by 闄堝惎鎵� on 2023/3/14. +// + +#import "HDLEZTempDetailView.h" +#import "HDLEZNormalCellView.h" +#import "HDLEZScrollView.h" +@interface HDLEZTempDetailView () +@property (nonatomic, strong)HDLEZScrollView *scrollV;//婊氬姩view + +@property (nonatomic, strong)UIView *passwordV;//瀵嗙爜view +@property (nonatomic, strong)UILabel *passwordL;//瀵嗙爜lable +@property (nonatomic, strong)UILabel *describeL;//鎻忚堪lable + + +@property (nonatomic, strong)HDLEZNormalCellView *userV;//浣跨敤浜簐iew +@property (nonatomic, strong)HDLEZNormalCellView *validV;//鏈夋晥鏈焩iew +@property (nonatomic, strong)HDLEZNormalCellView *validTimeV;//鐢熸晥鏃堕棿view +@property (nonatomic, strong)HDLEZNormalCellView *expireTimeV;//澶辨晥鏃堕棿view +@property (nonatomic, strong)HDLEZNormalCellView *useCountV;//浣跨敤娆℃暟view + +@property (nonatomic, strong)HDLEZButton *deleteBtn;//鍒犻櫎鎸夐挳 + +@end + +@implementation HDLEZTempDetailView + +-(instancetype)init{ + self = [super init]; + if (self) { + [self initUI]; + } + + return self; +} + +-(void)initUI{ + //婊氬姩view + _scrollV=[[HDLEZScrollView alloc] init]; + if (@available(iOS 11.0, *)) { + _scrollV.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + [self addSubview:_scrollV]; + [_scrollV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(self); + make.right.left.bottom.equalTo(self); + }]; + _scrollV.contentSize=CGSizeMake(HDLEZ_APP_SCREEN_WIDTH, 665); + + //瀵嗙爜view + _passwordV=[[UIView alloc] init]; + [_scrollV addSubview:_passwordV]; + [_passwordV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_scrollV); + make.left.right.equalTo(self); + make.height.mas_equalTo(180); + }]; + + //瀵嗙爜鑳屾櫙imageV + UIImageView *passBackImgV=[[UIImageView alloc] init]; + [_passwordV addSubview:passBackImgV]; + [passBackImgV mas_makeConstraints:^(MASConstraintMaker *make) { + make.center.equalTo(_passwordV); + make.height.mas_equalTo(165); + make.width.mas_equalTo(258); + }]; + passBackImgV.image=[UIImage imageNamed:@"hdl_ez_temp_pass_word"]; + + //瀵嗙爜lable + _passwordL=[[UILabel alloc] init]; + [_passwordV addSubview:_passwordL]; + [_passwordL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(passBackImgV).offset(50); + make.left.equalTo(passBackImgV).offset(44); + make.right.equalTo(passBackImgV).offset(-44); + make.height.mas_equalTo(37); + }]; + _passwordL.textAlignment=NSTextAlignmentCenter; + _passwordL.textColor=HDLEZ_COLOR_TEXT_WHITE; + _passwordL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_26); + + //鎻忚堪lable + _describeL=[[UILabel alloc] init]; + [_passwordV addSubview:_describeL]; + [_describeL mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_passwordL.mas_bottom); + make.left.right.equalTo(_passwordL); + make.height.mas_equalTo(15); + }]; + _describeL.textAlignment=NSTextAlignmentCenter; + _describeL.adjustsFontSizeToFitWidth=YES; + _describeL.textColor=HDLEZ_COLOR_TEXT_WHITE; + _describeL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_10); + _describeL.text=HDLEZLocallizedString(@"device_temp_long_tap_copy"); + + //浣跨敤浜� + _userV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_userV]; + [_userV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_passwordV.mas_bottom); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _userV.title= HDLEZLocallizedString(@"device_temp_user"); + _userV.titleL.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_16); + [_userV.lineV setHidden:YES]; + [_userV hideNextImg]; + + //鏈夋晥鏈� + _validV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_validV]; + [_validV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_userV.mas_bottom).offset(8); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _validV.title= HDLEZLocallizedString(@"device_temp_valid_date"); + _validV.titleL.textColor=HDLEZ_COLOR_TEXT_LIGHT_BLUE; + _validV.titleL.font=HDLEZ_Get_FontBoldWithSize(HDLEZ_FontSize_16); + [_validV hideNextImg]; + + //鐢熸晥鏃堕棿 + _validTimeV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_validTimeV]; + [_validTimeV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_validV.mas_bottom); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _validTimeV.title=HDLEZLocallizedString(@"device_temp_valid_begin"); + [_validTimeV hideNextImg]; + + //澶辨晥鏃堕棿 + _expireTimeV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_expireTimeV]; + [_expireTimeV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_validTimeV.mas_bottom); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _expireTimeV.title=HDLEZLocallizedString(@"device_temp_valid_end"); + [_expireTimeV.lineV setHidden:YES]; + [_expireTimeV hideNextImg]; + + //浣跨敤娆℃暟 + _useCountV=[[HDLEZNormalCellView alloc] init]; + [_scrollV addSubview:_useCountV]; + [_useCountV mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_expireTimeV.mas_bottom).offset(8); + make.left.right.equalTo(self); + make.height.mas_equalTo(50); + }]; + _useCountV.title=HDLEZLocallizedString(@"device_temp_use_times"); + [_useCountV.lineV setHidden:YES]; + [_useCountV hideNextImg]; + + //鍒犻櫎鎸夐挳 + _deleteBtn=[[HDLEZButton alloc] init]; + [_scrollV addSubview:_deleteBtn]; + [_deleteBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.equalTo(_useCountV.mas_bottom).offset(50); + make.left.equalTo(self).offset(80); + make.right.equalTo(self).offset(-80); + make.height.mas_equalTo(42); + }]; + _deleteBtn.layer.cornerRadius=21; + _deleteBtn.layer.borderWidth=1; + _deleteBtn.layer.borderColor=HDLEZ_COLOR_BACKGROUND_LINE_RED.CGColor; + [_deleteBtn setTitleColor:HDLEZ_COLOR_BACKGROUND_LINE_RED forState:UIControlStateNormal]; + _deleteBtn.titleLabel.font=HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_16); + [_deleteBtn setTitle:HDLEZLocallizedString(@"delete") forState:UIControlStateNormal]; + [_deleteBtn addTarget:self action:@selector(delete) forControlEvents:UIControlEventTouchUpInside]; + + //娣诲姞鐐瑰嚮浜嬩欢 + UILongPressGestureRecognizer *longTap=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longTapTemp)]; + [passBackImgV addGestureRecognizer:longTap]; + _passwordV.userInteractionEnabled=YES; + passBackImgV.userInteractionEnabled=YES; + + +} + +/*闀挎寜瀵嗙爜 + */ +-(void)longTapTemp{ + if (self.longTapPassWordBlock) { + self.longTapPassWordBlock(_passwordL.text); + } +} + +/*鐐瑰嚮鍒犻櫎 + */ +-(void)delete{ + if (self.deletePassWordBlock) { + self.deletePassWordBlock(@""); + } +} + +/*鏃堕棿杞瑂tring + @param date 鏃堕棿 + */ +-(NSString *)turnDate:(NSDate*)date{ + return [HDLEZConstants timeStrWithFormate:[NSString stringWithFormat:@"yyyy%@MM%@dd%@ HH:mm",HDLEZLocallizedString(@"device_temp_year"),HDLEZLocallizedString(@"device_temp_month"),HDLEZLocallizedString(@"device_temp_date")] data:date]; +} + + + +/*璁剧疆涓存椂瀵嗙爜淇℃伅鍊� + */ +-(void)setTemPdetailModel:(HDLEZTemInfoModel *)temPdetailModel{ + _temPdetailModel=temPdetailModel; + + //瀵嗙爜 + _passwordL.text=temPdetailModel.password; + + //浣跨敤浜� + _userV.contentL.text=temPdetailModel.userName; + + //寮�濮嬫椂闂� + _validTimeV.contentL.text= [self turnDate:[NSDate dateWithTimeIntervalSince1970:[temPdetailModel.beginTime integerValue]]]; + + //缁撴潫鏃堕棿 + _expireTimeV.contentL.text= [self turnDate:[NSDate dateWithTimeIntervalSince1970:[temPdetailModel.endTime integerValue]]]; + + //浣跨敤姝ゆ椂 + if ([temPdetailModel.limitCount isEqualToString:@"-1"]) { + _useCountV.contentL.text=HDLEZLocallizedString(@"device_temp_unlimited_use_times"); + }else{ + _useCountV.contentL.text=[NSString stringWithFormat:@"%@%@%@锛�%@%@%@",HDLEZLocallizedString(@"device_temp_total"),temPdetailModel.limitCount,HDLEZLocallizedString(@"device_temp_times"),HDLEZLocallizedString(@"device_temp_left"),temPdetailModel.useCount,HDLEZLocallizedString(@"device_temp_times")]; + } + + +} + + +@end diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVisitorRecordCell.m b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVisitorRecordCell.m index fb37b13..4858a91 100755 --- a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVisitorRecordCell.m +++ b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVisitorRecordCell.m @@ -128,10 +128,16 @@ _timeL.text=[NSString stringWithFormat:@"%@ - %@",[self turnDate:tempInfo.beginTime],[self turnDate:tempInfo.endTime]]; //鍓╀綑娆℃暟 - NSString *contentStr=[NSString stringWithFormat:@"%@%@%@",HDLEZLocallizedString(@"device_temp_left"),tempInfo.useCount,HDLEZLocallizedString(@"device_temp_times")]; - NSMutableAttributedString *attributedStringM = [[NSMutableAttributedString alloc] initWithString:contentStr]; - [attributedStringM addAttribute:NSForegroundColorAttributeName value:HDLEZ_COLOR_TITLE_BLACK range:NSMakeRange(contentStr.length-HDLEZLocallizedString(@"device_temp_times").length-tempInfo.useCount.length, tempInfo.useCount.length)]; - _describeL.attributedText=attributedStringM; + if ([tempInfo.useCount isEqualToString:@"-1"]) {//涓嶉檺娆℃暟 + _describeL.text=HDLEZLocallizedString(@"device_temp_unlimited_use_times"); + _describeL.textColor=HDLEZ_COLOR_TITLE_BLACK; + }else{ + NSString *contentStr=[NSString stringWithFormat:@"%@%@%@",HDLEZLocallizedString(@"device_temp_left"),tempInfo.useCount,HDLEZLocallizedString(@"device_temp_times")]; + NSMutableAttributedString *attributedStringM = [[NSMutableAttributedString alloc] initWithString:contentStr]; + [attributedStringM addAttribute:NSForegroundColorAttributeName value:HDLEZ_COLOR_TITLE_BLACK range:NSMakeRange(contentStr.length-HDLEZLocallizedString(@"device_temp_times").length-tempInfo.useCount.length, tempInfo.useCount.length)]; + _describeL.attributedText=attributedStringM; + } + } diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.h b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.h deleted file mode 100755 index 44ebdea..0000000 --- a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.h +++ /dev/null @@ -1,43 +0,0 @@ -// -// HDLFVCreateTemPassView.h -// Ezviz -// -// Created by 闄堝惎鎵� on 2022/4/22. -// Copyright 漏 2022 hdl. All rights reserved. -// - -#import <UIKit/UIKit.h> -#import "HDLTopTitleInputView.h" -#import "HDLFVNormalCellView.h" -NS_ASSUME_NONNULL_BEGIN - -typedef void (^HDLFVImageVBlock)(UIImage * image); - -typedef enum { - HDLFVTemPassType_Generate=0, //鐢熸垚 - HDLFVTemPassType_Detail=1,//璇︽儏 -}HDLFVTemPassType; -@interface HDLFVCreateTemPassView : UIView -@property(nonatomic,assign)HDLFVTemPassType temPassType;//涓存椂瀵嗙爜绫诲瀷 - -@property (nonatomic, strong)HDLTopTitleInputView *phoneInputV;//璁垮鎵嬫満杈撳叆view -@property (nonatomic, strong)HDLTopTitleInputView *temPassInputV;//鍔ㄦ�佸瘑鐮佽緭鍏iew -//@property (nonatomic, strong)HDLTopTitleInputView *useTimesInputV;//浣跨敤娆℃暟杈撳叆view - -@property (nonatomic, strong)HDLFVNormalCellView *validTimeV;//鐢熸晥鏃堕棿view -@property (nonatomic, strong)HDLFVNormalCellView *expireTimeV;//澶辨晥鏃堕棿view - -@property (nonatomic, strong)UIImageView *QRCodeImageV;//浜岀淮鐮乮mageView - -@property(nonatomic,strong)HDLFVImageVBlock clickQRCodeBlock; //鐐瑰嚮浜岀淮鐮� -@property(nonatomic,strong)HDLFVImageVBlock longTapQRCodeBlock; //闀挎寜浜岀淮鐮� - -@property(nonatomic,assign)BOOL isInvalid;//鏄惁鏃犳晥 - -/*灞曠ず浜岀淮鐮� - - */ --(void)showQRCode:(BOOL)show; -@end - -NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.m b/EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.m deleted file mode 100755 index ebe5654..0000000 --- a/EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.m +++ /dev/null @@ -1,240 +0,0 @@ -// -// HDLFVCreateTemPassView.m -// Ezviz -// -// Created by 闄堝惎鎵� on 2022/4/22. -// Copyright 漏 2022 hdl. All rights reserved. -// - -#import "HDLFVCreateTemPassView.h" -@interface HDLFVCreateTemPassView () -@property (nonatomic, strong)UILabel *tipL;//鎻愮ずLable -@property (nonatomic, strong)UILabel *QRCodetipL;//浜岀淮鐮佹彁绀篖able -@property (nonatomic, strong)UIView *expireV;//鏃犳晥View -@property (nonatomic, strong)UILabel *expireL;//鏃犳晥Lable - -@property (nonatomic, strong)UIScrollView *scrollV;//婊氬姩view - -@end -@implementation HDLFVCreateTemPassView - --(instancetype)init{ - self = [super init]; - if (self) { -// _isShow=YES; -// _tempPassword=@""; - [self initUI]; - } - - return self; -} - --(void)initUI{ - //婊氬姩view - _scrollV=[[UIScrollView alloc] init]; - if (@available(iOS 11.0, *)) { - _scrollV.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; - } - [self addSubview:_scrollV]; - [_scrollV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(self); - make.right.left.bottom.equalTo(self); - }]; - _scrollV.contentSize=CGSizeMake(APP_SCREEN_WIDTH, 665); - - - - //鎻愮ずlable - _tipL=[[UILabel alloc] init]; - [_scrollV addSubview:_tipL]; - [_tipL mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_scrollV).offset(20); - make.left.equalTo(self).offset(20); - make.right.equalTo(self).offset(-20); - make.height.mas_equalTo(40); - }]; - _tipL.adjustsFontSizeToFitWidth=YES; - _tipL.numberOfLines=2; - _tipL.textColor=HDLFV_COLOR_TEXT_LIGHT_GRAY; - _tipL.font=HDLFV_Get_FontRegularWithSize(HDLFV_FontSize_12); - _tipL.text=HDLFVLocalizedString(@"*After you initiate the visitor certificate, you can unlock the door by password or swipe the code freely within the validity period you set. Please share the certificate carefully."); - - //璁垮鎵嬫満 - _phoneInputV=[[HDLTopTitleInputView alloc] init]; - [_scrollV addSubview:_phoneInputV]; - [_phoneInputV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_tipL.mas_bottom).offset(30); - make.left.right.equalTo(self); - make.height.mas_equalTo(80); - }]; - _phoneInputV.inputTextF.keyboardType=UIKeyboardTypeNumberPad; - _phoneInputV.placeHolder=HDLFVLocalizedString(@"Input phone number of the visitor"); - _phoneInputV.title=HDLFVLocalizedString(@"Visitor Phone Number"); - - - //鍔ㄦ�佸瘑鐮� - _temPassInputV=[[HDLTopTitleInputView alloc] init]; - [_scrollV addSubview:_temPassInputV]; - [_temPassInputV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_phoneInputV.mas_bottom); - make.left.right.equalTo(self); - make.height.mas_equalTo(80); - }]; - _temPassInputV.inputTextF.keyboardType=UIKeyboardTypeNumberPad; - _temPassInputV.placeHolder=HDLFVLocalizedString(@"Input 6-digits temporary password"); - _temPassInputV.title=HDLFVLocalizedString(@"Temporary password"); - _temPassInputV.btnTitle=HDLFVLocalizedString(@"Random Generation"); - - -// //浣跨敤娆℃暟 -// _useTimesInputV=[[HDLTopTitleInputView alloc] init]; -// [_scrollV addSubview:_useTimesInputV]; -// [_useTimesInputV mas_makeConstraints:^(MASConstraintMaker *make) { -// make.top.equalTo(_temPassInputV.mas_bottom); -// make.left.right.equalTo(self); -// make.height.mas_equalTo(80); -// }]; -// _useTimesInputV.inputTextF.keyboardType=UIKeyboardTypeNumberPad; -// _useTimesInputV.inputTextF.text=@"1"; -// _useTimesInputV.placeHolder=HDLFVLocalizedString(@"Input usage times"); -// _useTimesInputV.title=HDLFVLocalizedString(@"Usage Times"); - - //鐢熸晥鏃堕棿 - _validTimeV=[[HDLFVNormalCellView alloc] init]; - [_scrollV addSubview:_validTimeV]; - [_validTimeV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_temPassInputV.mas_bottom).offset(8); - make.left.right.equalTo(self); - make.height.mas_equalTo(50); - }]; - _validTimeV.title=HDLFVLocalizedString(@"Effective Time"); - - //澶辨晥鏃堕棿 - _expireTimeV=[[HDLFVNormalCellView alloc] init]; - [_scrollV addSubview:_expireTimeV]; - [_expireTimeV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_validTimeV.mas_bottom); - make.left.right.equalTo(self); - make.height.mas_equalTo(50); - }]; - _expireTimeV.title=HDLFVLocalizedString(@"Expiration Time"); - - //浜岀淮鐮� - _QRCodeImageV=[[UIImageView alloc] init]; - [_scrollV addSubview:_QRCodeImageV]; - [_QRCodeImageV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_expireTimeV.mas_bottom).offset(33); - make.centerX.equalTo(self.mas_centerX); - make.height.width.mas_equalTo(142); - }]; - _QRCodeImageV.userInteractionEnabled = YES; - - //娣诲姞鐐瑰嚮浜嬩欢 - UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickQRCode)]; - UILongPressGestureRecognizer *longTap=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longTapQRCode:)]; - [_QRCodeImageV addGestureRecognizer:tap]; - [_QRCodeImageV addGestureRecognizer:longTap]; - [_QRCodeImageV setHidden:YES]; - - //鏃犳晥view - _expireV=[[UIView alloc] init]; - [_scrollV addSubview:_expireV]; - [_expireV mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_expireTimeV.mas_bottom).offset(33); - make.centerX.equalTo(self.mas_centerX); - make.height.width.mas_equalTo(142); - }]; - _expireV.backgroundColor=[UIColor blackColor]; - _expireV.alpha=0.6; - [_expireV setHidden:YES]; - - //鏃犳晥Lable - _expireL=[[UILabel alloc] init]; - [_scrollV addSubview:_expireL]; - _expireL.textAlignment=NSTextAlignmentCenter; - _expireL.textColor=[UIColor whiteColor]; - [_expireL mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_expireTimeV.mas_bottom).offset(33); - make.centerX.equalTo(self.mas_centerX); - make.height.width.mas_equalTo(142); - - }]; - _expireL.font=HDLFV_Get_FontRegularWithSize(HDLFV_FontSize_12); - _expireL.text=HDLFVLocalizedString(@"QR code is invalid"); - [_expireL setHidden:YES]; - - //鎻愮ずlable - _QRCodetipL=[[UILabel alloc] init]; - [_scrollV addSubview:_QRCodetipL]; - [_QRCodetipL mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.equalTo(_QRCodeImageV.mas_bottom).offset(20); - make.left.equalTo(self).offset(10); - make.right.equalTo(self).offset(-10); - make.height.mas_equalTo(20); - }]; - _QRCodetipL.adjustsFontSizeToFitWidth=YES; - _QRCodetipL.textAlignment=NSTextAlignmentCenter; - _QRCodetipL.textColor=HDLFV_COLOR_TEXT_TITLE_GRAY; - _QRCodetipL.font=HDLFV_Get_FontRegularWithSize(HDLFV_FontSize_12); - _QRCodetipL.text=HDLFVLocalizedString(@"Long press the QR code to save the QR code to the album"); - [_QRCodetipL setHidden:YES]; - - -} - -//鐐瑰嚮浜嗕簩缁寸爜 --(void)clickQRCode{ - - self.clickQRCodeBlock(_QRCodeImageV.image); -} - -//闀挎寜浜岀淮鐮� --(void)longTapQRCode:(UIGestureRecognizer*)recognizer{ - if (recognizer.state==UIGestureRecognizerStateBegan) { - HDLFVLog(@"闀挎寜浜嗕簩缁寸爜"); - self.longTapQRCodeBlock(_QRCodeImageV.image); - } - -} - -/*灞曠ず浜岀淮鐮� - - */ --(void)showQRCode:(BOOL)show{ - [_QRCodetipL setHidden:!show]; - [_QRCodeImageV setHidden:!show]; - -} - --(void)setIsInvalid:(BOOL)isInvalid{ - _isInvalid=isInvalid; - if (isInvalid) {//濡傛灉涓烘棤鏁� - [_expireL setHidden:NO]; - [_expireV setHidden:NO]; - [_QRCodetipL setHidden:YES]; - _temPassInputV.inputTextF.text=HDLFVLocalizedString(@"Temporary password is invalid"); - } -} - --(void)setTemPassType:(HDLFVTemPassType)temPassType{ - _temPassType=temPassType; - if (temPassType==HDLFVTemPassType_Generate) { - [_phoneInputV.inputTextF setEnabled:YES]; - [_temPassInputV.inputTextF setEnabled:YES]; - _temPassInputV.btnTitle=HDLFVLocalizedString(@"Random Generation"); -// [_useTimesInputV.inputTextF setEnabled:YES]; - [_expireTimeV.button setEnabled:YES]; - [_validTimeV.button setEnabled:YES]; - [self showQRCode:NO]; - }else{ - [_phoneInputV.inputTextF setEnabled:NO]; - [_temPassInputV.inputTextF setEnabled:NO]; - _temPassInputV.btnTitle=@""; -// [_useTimesInputV.inputTextF setEnabled:NO]; - [_expireTimeV.button setEnabled:NO]; - [_validTimeV.button setEnabled:NO]; - [self showQRCode:YES]; - - } -} -@end diff --git a/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/FQDateTimeSDK b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/FQDateTimeSDK new file mode 100755 index 0000000..df82751 --- /dev/null +++ b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/FQDateTimeSDK Binary files differ diff --git a/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimePickerView.h b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimePickerView.h new file mode 100644 index 0000000..136848d --- /dev/null +++ b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimePickerView.h @@ -0,0 +1,107 @@ +// +// FQDateTimePickerView.h +// FQTools +// +// Created by wuwuFQ on 2021/5/26. +// + +#import <UIKit/UIKit.h> +typedef enum{ + FQDateTimePickerModelYMDate,// 骞存湀 2021-05 + FQDateTimePickerModelDate,// 骞存湀鏃� 2021-05-26 + FQDateTimePickerModelDateTime,//骞存湀鏃� 鏃跺垎 yyyy-mm-dd HH:mm 鍙敮鎸�24灏忔椂鍒� + FQDateTimePickerModelDateTimeSecond,//骞存湀鏃� 鏃跺垎绉� yyyy-mm-dd HH:mm:ss 鍙敮鎸�24灏忔椂鍒� + FQDateTimePickerModelTime,// 鏃跺垎 HH:mm 鍙敮鎸�24灏忔椂鍒� + FQDateTimePickerModelTimeSecond,// 鏃跺垎绉� HH:mm:ss 鍙敮鎸�24灏忔椂鍒� +} FQDateTimePickerModel; + + +NS_ASSUME_NONNULL_BEGIN +@protocol FQDateTimePickerViewDelegate <NSObject> + +/// 纭鎿嶄綔 +/// @param date 鏃ユ湡NSDate +/// @param dateStr 鏃ユ湡NSString +/// @param target 鐢ㄤ簬鍖哄垎pickerView +- (void)confirmActionWithDate:(NSDate *)date withDateString:(NSString *)dateStr withTarget:(NSInteger)target; + +@optional +/// 鍙栨秷鎿嶄綔 +/// @param target 鐢ㄤ簬鍖哄垎pickerView +- (void)cancelActionWithTarget:(NSInteger)target; + +/// 婊氬姩鎿嶄綔 +/// @param date 鏃ユ湡NSDate +/// @param dateStr 鏃ユ湡NSString +/// @param target 鐢ㄤ簬鍖哄垎pickerView +- (void)scrollActionWithDate:(NSDate *)date withDateString:(NSString *)dateStr withTarget:(NSInteger)target; + +@end + + +@interface FQDateTimePickerView : UIView +/*---------------- UI ------------------------*/ +/// 閬僵鑳屾櫙鑹� +@property (nonatomic, strong) UIColor *maskBackgroundColor; + +/// 閫夋嫨鍣ㄨ儗鏅壊 +@property (nonatomic, strong) UIColor *pickerBackgroundColor; + +///纭畾鎸夐挳鏂囨湰 +@property (nonatomic, copy) NSString *confirmText; +///纭畾鎸夐挳棰滆壊 榛樿black +@property (nonatomic, strong) UIColor *confirmColor; +///纭畾鎸夐挳瀛椾綋 榛樿绯荤粺18pt +@property (nonatomic, strong) UIFont *confirmFont; + +///鍙栨秷鎸夐挳鏂囨湰 +@property (nonatomic, copy) NSString *cancelText; +///鍙栨秷鎸夐挳棰滆壊 榛樿榛戣壊 +@property (nonatomic, strong) UIColor *cancelColor; +///鍙栨秷鎸夐挳瀛椾綋 榛樿绯荤粺18pt +@property (nonatomic, strong) UIFont *cancelFont; + +///鏍囬鏂囨湰 榛樿 "" +@property (nonatomic, copy) NSString *title; +///鏍囬棰滆壊 榛樿榛戣壊 +@property (nonatomic, strong) UIColor *titleColor; +///鏍囬瀛椾綋 榛樿绯荤粺SFUI-Regular 16.00pt +@property (nonatomic, strong) UIFont *titleFont; + +///婊氳疆鏃ユ湡鏂囨湰棰滆壊(榛樿black) +@property (nonatomic, strong) UIColor *pickerColor; +///婊氳疆鏃ユ湡鏂囨湰瀛椾綋[UIFont systemFontOfSize:16] +@property (nonatomic, strong) UIFont *pickerFont; + + +/*---------------- NSDate ------------------------*/ +///闄愬埗鏈�澶ф椂闂� +@property (nonatomic, strong) NSDate *maxDate; +///闄愬埗鏈�灏忔椂闂� +@property (nonatomic, strong) NSDate *minDate; +///榛樿鏃堕棿 - - 榛樿褰撳墠鏃堕棿 +@property (nonatomic, strong) NSDate *defaultDate; +/// 鍗曚綅锛氶粯璁@"骞�", @"鏈�", @"鏃�", @"鏃�", @"鍒�", @"绉�"]锛岃涓�涓�瀵瑰簲锛岃缃� unitsData = nil 鍙疆绌� +@property (nonatomic, strong, null_unspecified) NSArray *unitsData; + + +/*---------------- other ------------------------*/ +/// Protocol +@property (nonatomic, weak) id<FQDateTimePickerViewDelegate> delegate; + +/// 閫夋嫨鍣ㄧ殑鏋氫妇 榛樿FQDateTimePickerModelDate +@property (nonatomic, assign) FQDateTimePickerModel pickerModel; + +/// pickerView鐨則ag 鐢ㄤ簬鍖哄垎鍥炶皟 +@property (nonatomic, assign) NSInteger target; + +/// 灞曠ず鍦╳indow涓婏紙璇峰湪灞曠ず涔嬪墠锛岃缃ソ闇�瑕佺殑灞炴�э級 +- (void)showPicker; + +/// 灞曠ず鍦╲iew涓婏紙璇峰湪灞曠ず涔嬪墠锛岃缃ソ闇�瑕佺殑灞炴�э級 +/// - Parameter view: <#view description#> +- (void)showPickerInView:(UIView *)view; + +@end + +NS_ASSUME_NONNULL_END diff --git a/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimeSDK.h b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimeSDK.h new file mode 100644 index 0000000..06c8307 --- /dev/null +++ b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimeSDK.h @@ -0,0 +1,18 @@ +// +// FQDateTimeSDK.h +// FQDateTimeSDK +// +// Created by wuwuFQ on 2022/4/28. +// + +#import <Foundation/Foundation.h> +#import "FQDateTimePickerView.h" +//! Project version number for FQDateTimeSDK. +FOUNDATION_EXPORT double FQDateTimeSDKVersionNumber; + +//! Project version string for FQDateTimeSDK. +FOUNDATION_EXPORT const unsigned char FQDateTimeSDKVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import <FQDateTimeSDK/PublicHeader.h> + + diff --git a/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Info.plist b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Info.plist new file mode 100644 index 0000000..dc1ab4c --- /dev/null +++ b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Info.plist Binary files differ diff --git a/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Modules/module.modulemap b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Modules/module.modulemap new file mode 100644 index 0000000..6f6d782 --- /dev/null +++ b/EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module FQDateTimeSDK { + umbrella header "FQDateTimeSDK.h" + + export * + module * { export * } +} -- Gitblit v1.8.0