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"; 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 EZSDK/EZSDK/EZ/Base/HDLEZButton.h
New file @@ -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 EZSDK/EZSDK/EZ/Base/HDLEZButton.m
New file @@ -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 EZSDK/EZSDK/EZ/Base/HDLEZScrollView.h
New file @@ -0,0 +1,16 @@ // // SQLScrollView.h // SQLScrollview // // #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN @interface HDLEZScrollView : UIScrollView<UIGestureRecognizerDelegate> @end NS_ASSUME_NONNULL_END EZSDK/EZSDK/EZ/Base/HDLEZScrollView.m
New file @@ -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 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; 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]; 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{ 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 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 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" EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.h
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZCreatTempPassViewController.m
New file @@ -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; //遵循代理 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]; //展示 } /*时间转string @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 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.h
New file @@ -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;//代理 @end NS_ASSUME_NONNULL_END EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZInputViewController.m
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.h
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZTempDetailViewController.m
New file @@ -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 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]; //下拉刷新 // 设置回调(一旦进入刷新状态,就调用target的action,也就是调用self的loadNewData方法) _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 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.h
File was deleted EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLFVTempPassViewController.m
File was deleted EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.h
New file @@ -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;//使用人view @property (nonatomic, strong)HDLEZNormalCellView *validV;//有效期view @property (nonatomic, strong)HDLEZNormalCellView *validTimeV;//生效时间view @property (nonatomic, strong)HDLEZNormalCellView *expireTimeV;//失效时间view @property (nonatomic, strong)HDLEZNormalCellView *useCountV;//使用次数view @end NS_ASSUME_NONNULL_END EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZCreateTemPassView.m
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.h
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZInputView.m
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.h
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZNormalCellView.m
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.h
New file @@ -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 EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZTempDetailView.m
New file @@ -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;//使用人view @property (nonatomic, strong)HDLEZNormalCellView *validV;//有效期view @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(@""); } } /*时间转string @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 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; } } EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.h
File was deleted EZSDK/EZSDK/EZ/TempPassword/Views/HDLFVCreateTemPassView.m
File was deleted EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/FQDateTimeSDKBinary files differ
EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimePickerView.h
New file @@ -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的tag 用于区分回调 @property (nonatomic, assign) NSInteger target; /// 展示在window上(请在展示之前,设置好需要的属性) - (void)showPicker; /// 展示在view上(请在展示之前,设置好需要的属性) /// - Parameter view: <#view description#> - (void)showPickerInView:(UIView *)view; @end NS_ASSUME_NONNULL_END EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Headers/FQDateTimeSDK.h
New file @@ -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> EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Info.plistBinary files differ
EZSDK/EZSDK/EZ/Venders/FQDateTimeSDK.framework/Modules/module.modulemap
New file @@ -0,0 +1,6 @@ framework module FQDateTimeSDK { umbrella header "FQDateTimeSDK.h" export * module * { export * } }