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