From 48c5a2c66c549d26fecadc6d2dad1924fdd1cc8b Mon Sep 17 00:00:00 2001
From: Davin <591807572@qq.com>
Date: 星期四, 27 七月 2023 13:52:08 +0800
Subject: [PATCH] bugfix 猫眼呼叫问题修复

---
 EZDemo/HDLEZDemo/HDLEZDemo/include/EZSDK/EZSDK.h                           |   21 +++
 EZSDK.IOS/EZSDK.IOS/EZSDK.IOS.csproj                                       |    4 
 EZDemo/HDLEZDemo/HDLEZDemo.xcodeproj/project.pbxproj                       |    6 
 EZSDK/EZSDK/EZ/Global/EZHttpUtil.h                                         |   10 +
 EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@3x.png                |    0 
 EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@2x.png                |    0 
 EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m                |   63 ++++++++
 EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a                                      |    0 
 EZSDK/EZSDK/EZSDK.h                                                        |   16 ++
 EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings          |    4 
 EZSDK.IOS/EZSDK.IOS/ApiDefinition.cs                                       |  164 ++++++++++++-----------
 EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m                                |    4 
 EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h                |    1 
 EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m             |    3 
 EZSDK.IOS/EZSDK.IOS/Library/libEZSDK.a                                     |    0 
 EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings     |    4 
 EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m |    4 
 EZSDK/EZSDK/EZ/Global/EZHttpUtil.m                                         |   24 +++
 EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@2x.png                |    0 
 EZSDK/EZSDK/EZSDK.m                                                        |   43 ++++++
 EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m                                   |    6 
 EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@3x.png                |    0 
 22 files changed, 278 insertions(+), 99 deletions(-)

diff --git a/EZDemo/HDLEZDemo/HDLEZDemo.xcodeproj/project.pbxproj b/EZDemo/HDLEZDemo/HDLEZDemo.xcodeproj/project.pbxproj
index 8d1e7d5..2368409 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo.xcodeproj/project.pbxproj
+++ b/EZDemo/HDLEZDemo/HDLEZDemo.xcodeproj/project.pbxproj
@@ -719,10 +719,11 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = HDLEZDemo/HDLEZDemo.entitlements;
+				CODE_SIGN_IDENTITY = "Apple Development";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Manual;
 				CURRENT_PROJECT_VERSION = 1;
-				DEVELOPMENT_TEAM = "";
+				DEVELOPMENT_TEAM = C9G3CHFW76;
 				"DEVELOPMENT_TEAM[sdk=iphoneos*]" = BVTA78PRYA;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
@@ -769,10 +770,11 @@
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CODE_SIGN_ENTITLEMENTS = HDLEZDemo/HDLEZDemo.entitlements;
+				CODE_SIGN_IDENTITY = "Apple Development";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Manual;
 				CURRENT_PROJECT_VERSION = 1;
-				DEVELOPMENT_TEAM = "";
+				DEVELOPMENT_TEAM = C9G3CHFW76;
 				"DEVELOPMENT_TEAM[sdk=iphoneos*]" = BVTA78PRYA;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m b/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
index c7cdef8..edc6cd3 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
@@ -25,10 +25,10 @@
     // Override point for customization after application launch.
     [[EZSDK sharedInstance] initLibWithAppKey:@"1aa98a90489b4838b966b57018b4b04b" globalAppKey:@"1aa98a90489b4838b966b57018b4b04b"];
 //    [[EZSDK sharedInstance] initLibWithAppKey:@"941b1b72b6294998acfd36c14931b675" globalAppKey:@"941b1b72b6294998acfd36c14931b675"];
-    [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiIyOTRkNmI1ZGIyZTE0OTBiOGVjZGZjMGE1YmZkMzM0MCIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInVzZXJBY2NvdW50Ijoid3hyIiwidGVuYW50SWQiOiIyMCIsInVzZXJUeXBlIjoiVVNFUl9DIiwidG9rZW5UeXBlIjoiYWNjZXNzX3Rva2VuIiwidXNlck5hbWUiOiJ3eHIiLCJ1c2VyRGF0YVJpZ2h0IjoiMSIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2ODg3Mjg5MTQsIm5iZiI6MTY4ODcyMTcxNH0.M-Q-M1o0FFIxdU8jjoFP3kHJn9YCtDGa1QDfmEd71fpxP_MfXKLITfZ08OL4ORpgLGM6pKvWHduG-WrR6qJqDiUkL-xFV10pdXXN2OXN6uBRL06Ab5uo3ybOn1YDJTd_LY6HuZxblnckmXNcCCoDEfGqIpTTl00HcEw2E4uexoM" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI1NGRhMzk1ZGE0ZGM0YzgwODYyNGMyY2JlYWZiMjFmNiIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxMzkyMDM1NTY4MjA0NDIzMTY5IiwiZXhwIjoxNjg5MzI2NTE0LCJuYmYiOjE2ODg3MjE3MTR9.FPQUh_0HyO-TYzNhm1gnr8Gpbe2q3LMXkvJR10wZvk1NwYpsU7x4ekBMWYBL_PZ9BT_pEQ_0GzZRIkPQsZ-NgZtx2NmJ9CcE_qTwtyi9JLnpFsYDWn7sWSSpwDYJYmfT04Oqfu466Pgthibc59HZcZo629CjN7FkJCV5Wv3lL5k"];
-    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1547099040465408002"];
+    [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI1N2YyOWRlNWNhNWY0MjAwOTFkMmM2NDdmMDcwNmQ5YiIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInRlbmFudElkIjoiMjAiLCJ1c2VyVHlwZSI6IlVTRVJfQyIsInRva2VuVHlwZSI6ImFjY2Vzc190b2tlbiIsInVzZXJOYW1lIjoic3hjXzAwNCIsInVzZXJEYXRhUmlnaHQiOiIxIiwib3BlbkFwcGxpY2F0aW9uSWQiOiIwIiwidXNlcklkIjoiMTU3NTA1OTM5MDAzMjYyNTY2NiIsImV4cCI6MTY5MDM0NjIxMiwibmJmIjoxNjkwMzM5MDEyfQ.CE_qD_vFzPHb_k0fXaLWNq85aLuposP6aubZLhJpc-CbIsAYGUUeiDC_fXResD9YIvCQLmCWDVGrFxabSF54uOzNX_-BXPqGvgRnmSMHeVCZ69BDKu9a3fm6fSc3LrVP_pPQ74O8yBLNjzsPWY7LI4twUhj5JazzN_vS3d71QhQ" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiIxMzI5OTExZGY1YzU0NzQ4ODFhZDg5MDdkY2I2ZDA1OCIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxNTc1MDU5MzkwMDMyNjI1NjY2IiwiZXhwIjoxNjkwOTQzODEyLCJuYmYiOjE2OTAzMzkwMTJ9.XXd0-YKJER6Oabs-fqTNgi1quCJxIJmvfBQLtke1FnXZo2qp5x-VFYM1dDKhmdeo3v-bPClIfKl_Lng0HWbnNz8YmIrMt5S_uIkwntqpuCHmnnX2Jjcf0TyhO8NhT7XYIMcCUnJIb4A9L_sY4Lt6s_Cu7GCt5fw8QYiDt9OezPo"];
+    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1683653084909764610"];
 //    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://nearest.hdlcontrol.com" platform:1 homeId:@"1546324800135176193"];
-    [[EZSDK sharedInstance] setEZAccessToken:@"ra.5b950z7g0d00zrtl62938p9mcq6fr7yj-1e833bz5oi-1lfptjs-2hswa4ysz"];
+    [[EZSDK sharedInstance] setEZAccessToken:@"ra.d3159vy1d0oss4r0bfewp28d0l88hsdt-8oj76pwpx4-1x1hz7a-5e0llpjhh"];
 //    [[EZSDK sharedInstance] setEZAccessToken:@"ra.3hkirwcadrpfmaa89wep99io3wto4yds-7zptb10d20-1wxg4f3-ygiojudee"];
 
     
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m b/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
index 9de4a47..1f56a52 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
@@ -10,7 +10,7 @@
 
 //钀ょ煶闂ㄩ攣spk
 #define HDLEZ_DOOR_SPK  @"security.door.ezviz"
-#define HDLEZ_DEVICEID  @"1678282604879122434"
+#define HDLEZ_DEVICEID  @"1679420297738518530"
 //#define HDLEZ_DEVICESERIAL @"K36229010"
 #define HDLEZ_DEVICESERIAL @"L32590140"
 
@@ -46,7 +46,7 @@
 }
 
 - (IBAction)toDoorCamera:(id)sender {
-    [[EZSDK sharedInstance] PlayWithDeviceSerial:HDLEZ_DEVICESERIAL deviceId:HDLEZ_DEVICEID deviceType:HDLEZ_DOOR_SPK];
+    [[EZSDK sharedInstance] PlayWithDeviceSerial:HDLEZ_DEVICESERIAL deviceId:HDLEZ_DEVICEID deviceType:HDLEZ_DOOR_SPK msgId:@""];
 }
 
 - (IBAction)toTempView:(id)sender {
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/include/EZSDK/EZSDK.h b/EZDemo/HDLEZDemo/HDLEZDemo/include/EZSDK/EZSDK.h
index 3532d07..e4a89c4 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/include/EZSDK/EZSDK.h
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/include/EZSDK/EZSDK.h
@@ -75,9 +75,21 @@
  */
 - (void)Play:(EZDeviceInfo*)deviceInfo;
 
+/**
+ 鏌ョ湅瑙嗛鐩戞帶鐩存挱
+ @param deviceInfo 璁惧淇℃伅
+ @param msgId 娑堟伅Id
+ @param isShow 鏄惁灞曠ず鍛煎彨寮规
+ */
+- (void)Play:(EZDeviceInfo*)deviceInfo messageId:(NSString *)msgId showCallout:(BOOL)isShow;
+
 /// 鎸囧畾搴忓垪鍙� 鏌ョ湅瑙嗛鐩戞帶鐩存挱
 /// @param deviceSerial 搴忓垪鍙�
 - (void)PlayWithDeviceSerial:(NSString *)deviceSerial;
+
+/// 鎸囧畾搴忓垪鍙� 鏌ョ湅瑙嗛鐩戞帶鐩存挱(鐚溂鍛煎彨鍔熻兘)
+/// @param deviceSerial 搴忓垪鍙�
+- (void)PlayWithDeviceSerial:(NSString *)deviceSerial msgId:(NSString *)msgId;
 
 /**
  鏍规嵁spk杩涘叆闂ㄩ攣瑙嗛
@@ -88,6 +100,15 @@
 -(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType;
 
 /**
+ 鏍规嵁spk杩涘叆闂ㄩ攣瑙嗛
+ @param deviceSerial 搴忓垪鍙�
+ @param deviceId 璁惧id
+ @param deviceType 璁惧spk(鐢ㄤ簬鍖哄垎鏄惁涓洪棬閿�)
+ @param msgId 娑堟伅id
+ */
+-(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType msgId:(NSString *)msgId;
+
+/**
  鎵撳紑鎽勫儚澶磋缃〉闈�
  */
 - (void)setting:(EZDeviceInfo*)deviceInfo;
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a b/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
index 0249eba..f6c07ca 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
Binary files differ
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings b/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings
index 7937614..8b6ff4d 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/resources/en.lproj/Localizable.strings
@@ -73,7 +73,7 @@
 "device_open_success"="Success to open the door!";
 "device_please_input_door_password"="Input the unlock password";
 "device_history"="History";
-"device_his_no_more_data"="No more data";
+"device_his_no_more_data"="In the end";
 "device_temp_pass"="Temporary password";
 "device_temp_year"=".";
 "device_temp_month"=".";
@@ -111,7 +111,7 @@
 "device_callout_alert_message" = "Doorbell on call...";
 "device_callout_hang_up" = "Hang up";
 "device_callout_ignore" = "Ignore";
-"device_callout_answer" = "Answer";
+"device_callout_answered" = "Answer";
 "device_full_scene_play" = "play";
 "device_full_scene_pause" = "Pause";
 "device_full_scene_sound" = "Sound";
diff --git a/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings b/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings
index 01e9e45..a70b581 100644
--- a/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings
+++ b/EZDemo/HDLEZDemo/HDLEZDemo/resources/zh-Hans.lproj/Localizable.strings
@@ -71,7 +71,7 @@
 "device_callout_alert_message" = "闂ㄩ搩鍛煎彨涓�...";
 "device_callout_hang_up" = "鎸傛柇";
 "device_callout_ignore" = "蹇界暐";
-"device_callout_answer" = "鎺ュ惉";
+"device_callout_answered" = "鎺ュ惉";
 "device_full_scene_play" = "鎾斁";
 "device_full_scene_pause" = "鏆傚仠";
 "device_full_scene_sound" = "闊抽噺";
@@ -85,7 +85,7 @@
 "device_open_success"="寮�闂ㄦ垚鍔燂紒";
 "device_please_input_door_password"="璇疯緭鍏ュ紑閿佸瘑鐮�";
 "device_history"="鍘嗗彶璁板綍";
-"device_his_no_more_data"="娌℃湁鏇村鏁版嵁";
+"device_his_no_more_data"="鍒板簳鍟�";
 "device_temp_pass"="涓存椂瀵嗙爜";
 "device_temp_year"="骞�";
 "device_temp_month"="鏈�";
diff --git a/EZSDK.IOS/EZSDK.IOS/ApiDefinition.cs b/EZSDK.IOS/EZSDK.IOS/ApiDefinition.cs
index b845f1b..9219806 100644
--- a/EZSDK.IOS/EZSDK.IOS/ApiDefinition.cs
+++ b/EZSDK.IOS/EZSDK.IOS/ApiDefinition.cs
@@ -1,103 +1,111 @@
-锘縰sing Foundation;
+using Foundation;
 using ObjCRuntime;
 
 namespace EZSDK.IOS
 {
-    // @protocol EZSDKDelegate <NSObject>
-    [Protocol, Model(AutoGeneratedName = true)]
-    [BaseType(typeof(NSObject))]
-    interface EZSDKDelegate
-    {
-        // @required -(void)addDeviceSuccessed:(NSString *)deviceSerial;
-        [Abstract]
-        [Export("addDeviceSuccessed:")]
-        void AddDeviceSuccessed(string deviceSerial);
-    }
+	// @protocol EZSDKDelegate <NSObject>
+	[Protocol, Model (AutoGeneratedName = true)]
+	[BaseType (typeof(NSObject))]
+	interface EZSDKDelegate
+	{
+		// @required -(void)addDeviceSuccessed:(NSString *)deviceSerial;
+		[Abstract]
+		[Export ("addDeviceSuccessed:")]
+		void AddDeviceSuccessed (string deviceSerial);
+	}
 
-    // @interface EZSDK : NSObject
-    [BaseType(typeof(NSObject))]
-    interface EZSDK
-    {
-        [Wrap("WeakDelegate")]
-        EZSDKDelegate Delegate { get; set; }
+	// @interface EZSDK : NSObject
+	[BaseType (typeof(NSObject))]
+	interface EZSDK
+	{
+		[Wrap ("WeakDelegate")]
+		EZSDKDelegate Delegate { get; set; }
 
-        // @property (nonatomic, weak) id<EZSDKDelegate> delegate;
-        [NullAllowed, Export("delegate", ArgumentSemantic.Weak)]
-        NSObject WeakDelegate { get; set; }
+		// @property (nonatomic, weak) id<EZSDKDelegate> delegate;
+		[NullAllowed, Export ("delegate", ArgumentSemantic.Weak)]
+		NSObject WeakDelegate { get; set; }
 
-        // @property (nonatomic, strong) NSArray * connectTipModels;
-        [Export("connectTipModels", ArgumentSemantic.Strong)]
-        // [Verify(StronglyTypedNSArray)]
-        NSObject[] ConnectTipModels { get; set; }
+		// @property (nonatomic, strong) NSArray * connectTipModels;
+		[Export ("connectTipModels", ArgumentSemantic.Strong)]
+		//[Verify (StronglyTypedNSArray)]
+		NSObject[] ConnectTipModels { get; set; }
 
-        // +(instancetype)sharedInstance;
-        [Static]
-        [Export("sharedInstance")]
-        EZSDK SharedInstance();
+		// +(instancetype)sharedInstance;
+		[Static]
+		[Export ("sharedInstance")]
+		EZSDK SharedInstance ();
 
-        // -(BOOL)initLibWithAppKey:(NSString *)appKey globalAppKey:(NSString *)globalAppKey;
-        [Export("initLibWithAppKey:globalAppKey:")]
-        bool InitLibWithAppKey(string appKey, string globalAppKey);
+		// -(BOOL)initLibWithAppKey:(NSString *)appKey globalAppKey:(NSString *)globalAppKey;
+		[Export ("initLibWithAppKey:globalAppKey:")]
+		bool InitLibWithAppKey (string appKey, string globalAppKey);
 
-        // -(void)setEZAccessToken:(NSString *)accessToken;
-        [Export("setEZAccessToken:")]
-        void SetEZAccessToken(string accessToken);
+		// -(void)setEZAccessToken:(NSString *)accessToken;
+		[Export ("setEZAccessToken:")]
+		void SetEZAccessToken (string accessToken);
 
-        // -(void)setHDlAccessToken:(NSString *)accessToken refreshToken:(NSString *)refreshToken;
-        [Export("setHDlAccessToken:refreshToken:")]
-        void SetHDlAccessToken(string accessToken, string refreshToken);
+		// -(void)setHDlAccessToken:(NSString *)accessToken refreshToken:(NSString *)refreshToken;
+		[Export ("setHDlAccessToken:refreshToken:")]
+		void SetHDlAccessToken (string accessToken, string refreshToken);
 
-        // -(void)setRequestHttpsHostAndPlatform:(NSString *)requestHttpsHost platform:(int)platform homeId:(NSString *)homeId;
-        [Export("setRequestHttpsHostAndPlatform:platform:homeId:")]
-        void SetRequestHttpsHostAndPlatform(string requestHttpsHost, int platform, string homeId);
+		// -(void)setRequestHttpsHostAndPlatform:(NSString *)requestHttpsHost platform:(int)platform homeId:(NSString *)homeId;
+		[Export ("setRequestHttpsHostAndPlatform:platform:homeId:")]
+		void SetRequestHttpsHostAndPlatform (string requestHttpsHost, int platform, string homeId);
 
-        // -(void)go2EZvizMonitor;
-        [Export("go2EZvizMonitor")]
-        void Go2EZvizMonitor();
+		// -(void)go2EZvizMonitor;
+		[Export ("go2EZvizMonitor")]
+		void Go2EZvizMonitor ();
 
-        // -(void)toEZDeviceListViewWithFilterTypes:(NSArray *)filterTepes;
-        [Export("toEZDeviceListViewWithFilterTypes:")]
-        // [Verify(StronglyTypedNSArray)]
-        void ToEZDeviceListViewWithFilterTypes(NSObject[] filterTepes);
+		// -(void)toEZDeviceListViewWithFilterTypes:(NSArray *)filterTepes;
+		[Export ("toEZDeviceListViewWithFilterTypes:")]
+		//[Verify (StronglyTypedNSArray)]
+		void ToEZDeviceListViewWithFilterTypes (NSObject[] filterTepes);
 
-        // -(void)addEzvizMonitor;
-        [Export("addEzvizMonitor")]
-        void AddEzvizMonitor();
+		// -(void)addEzvizMonitor;
+		[Export ("addEzvizMonitor")]
+		void AddEzvizMonitor ();
 
-        // -(void)addEzvizMonitorWithDeviceType:(NSString *)deviceType;
-        [Export("addEzvizMonitorWithDeviceType:")]
-        void AddEzvizMonitorWithDeviceType(string deviceType);
+		// -(void)addEzvizMonitorWithDeviceType:(NSString *)deviceType;
+		[Export ("addEzvizMonitorWithDeviceType:")]
+		void AddEzvizMonitorWithDeviceType (string deviceType);
 
-        // -(void)Play:(id)deviceInfo;
-        [Export("Play:")]
-        void Play(NSObject deviceInfo);
+		// -(void)Play:(id)deviceInfo;
+		[Export ("Play:")]
+		void Play (NSObject deviceInfo);
 
-        // -(void)Play:(id)deviceInfo showCallout:(BOOL)isShow;
-        [Export("Play:showCallout:")]
-        void Play(NSObject deviceInfo, bool isShow);
+		// -(void)Play:(id)deviceInfo messageId:(NSString *)msgId showCallout:(BOOL)isShow;
+		[Export ("Play:messageId:showCallout:")]
+		void Play (NSObject deviceInfo, string msgId, bool isShow);
 
-        // -(void)PlayWithDeviceSerial:(NSString *)deviceSerial;
-        [Export("PlayWithDeviceSerial:")]
-        void PlayWithDeviceSerial(string deviceSerial);
+		// -(void)PlayWithDeviceSerial:(NSString *)deviceSerial;
+		[Export ("PlayWithDeviceSerial:")]
+		void PlayWithDeviceSerial (string deviceSerial);
 
-        // -(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString *)deviceId deviceType:(NSString *)deviceType;
-        [Export("PlayWithDeviceSerial:deviceId:deviceType:")]
-        void PlayWithDeviceSerial(string deviceSerial, string deviceId, string deviceType);
+		// -(void)PlayWithDeviceSerial:(NSString *)deviceSerial msgId:(NSString *)msgId;
+		[Export ("PlayWithDeviceSerial:msgId:")]
+		void PlayWithDeviceSerial (string deviceSerial, string msgId);
 
-        // -(void)setting:(id)deviceInfo;
-        [Export("setting:")]
-        void Setting(NSObject deviceInfo);
+		// -(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString *)deviceId deviceType:(NSString *)deviceType;
+		[Export ("PlayWithDeviceSerial:deviceId:deviceType:")]
+		void PlayWithDeviceSerial (string deviceSerial, string deviceId, string deviceType);
 
-        // -(void)playBackVideo:(id)deviceInfo;
-        [Export("playBackVideo:")]
-        void PlayBackVideo(NSObject deviceInfo);
+		// -(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString *)deviceId deviceType:(NSString *)deviceType msgId:(NSString *)msgId;
+		[Export ("PlayWithDeviceSerial:deviceId:deviceType:msgId:")]
+		void PlayWithDeviceSerial (string deviceSerial, string deviceId, string deviceType, string msgId);
 
-        // -(void)toTemPassView:(NSString *)deviceId;
-        [Export("toTemPassView:")]
-        void ToTemPassView(string deviceId);
+		// -(void)setting:(id)deviceInfo;
+		[Export ("setting:")]
+		void Setting (NSObject deviceInfo);
 
-        // -(void)toDeviceMsgListView:(NSString *)deviceId;
-        [Export("toDeviceMsgListView:")]
-        void ToDeviceMsgListView(string deviceId);
-    }
+		// -(void)playBackVideo:(id)deviceInfo;
+		[Export ("playBackVideo:")]
+		void PlayBackVideo (NSObject deviceInfo);
+
+		// -(void)toTemPassView:(NSString *)deviceId;
+		[Export ("toTemPassView:")]
+		void ToTemPassView (string deviceId);
+
+		// -(void)toDeviceMsgListView:(NSString *)deviceId;
+		[Export ("toDeviceMsgListView:")]
+		void ToDeviceMsgListView (string deviceId);
+	}
 }
diff --git a/EZSDK.IOS/EZSDK.IOS/EZSDK.IOS.csproj b/EZSDK.IOS/EZSDK.IOS/EZSDK.IOS.csproj
index 1fbd594..19b041b 100644
--- a/EZSDK.IOS/EZSDK.IOS/EZSDK.IOS.csproj
+++ b/EZSDK.IOS/EZSDK.IOS/EZSDK.IOS.csproj
@@ -104,6 +104,10 @@
     <BundleResource Include="Resources\hdl_ez_cat_eyes_ignore%403x.png" />
     <BundleResource Include="Resources\large_back_btn%402x.png" />
     <BundleResource Include="Resources\large_back_btn%403x.png" />
+    <BundleResource Include="Resources\hdl_ez_cat_eyes_answer%402x.png" />
+    <BundleResource Include="Resources\hdl_ez_cat_eyes_answer%403x.png" />
+    <BundleResource Include="Resources\hdl_ez_msg_placeholder%402x.png" />
+    <BundleResource Include="Resources\hdl_ez_msg_placeholder%403x.png" />
   </ItemGroup>
   <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.ObjCBinding.CSharp.targets" />
 </Project>
\ No newline at end of file
diff --git a/EZSDK.IOS/EZSDK.IOS/Library/libEZSDK.a b/EZSDK.IOS/EZSDK.IOS/Library/libEZSDK.a
index 7be1c51..f6c07ca 100644
--- a/EZSDK.IOS/EZSDK.IOS/Library/libEZSDK.a
+++ b/EZSDK.IOS/EZSDK.IOS/Library/libEZSDK.a
Binary files differ
diff --git a/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@2x.png b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@2x.png
new file mode 100644
index 0000000..647a8e1
--- /dev/null
+++ b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@2x.png
Binary files differ
diff --git a/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@3x.png b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@3x.png
new file mode 100644
index 0000000..79e3138
--- /dev/null
+++ b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_cat_eyes_answer@3x.png
Binary files differ
diff --git a/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@2x.png b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@2x.png
new file mode 100644
index 0000000..bf22905
--- /dev/null
+++ b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@2x.png
Binary files differ
diff --git a/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@3x.png b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@3x.png
new file mode 100644
index 0000000..6975eff
--- /dev/null
+++ b/EZSDK.IOS/EZSDK.IOS/Resources/hdl_ez_msg_placeholder@3x.png
Binary files differ
diff --git a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.h b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.h
index be59522..d3e73c3 100644
--- a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.h
+++ b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.h
@@ -161,6 +161,16 @@
                       enable:(NSInteger)enable
                   completion:(void (^)(ResponseData *responseData))completion;
 
+/**
+ *  @since 鏇存柊鎺ュ惉鐘舵��
+ *  @param msgId   娑堟伅id
+ *  @param answerStatus 鎺ュ惉鐘舵�侊紙answer 宸叉帴鍚�乶o_answer 鏈帴鍚級
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘垚鍔�
+ */
+- (void)updateAnswerStatusWithMsgId:(NSString *)msgId
+                       answerStatus:(NSString *)answerStatus
+                         completion:(void (^)(ResponseData *responseData))completion;
+
 @end
 
 NS_ASSUME_NONNULL_END
diff --git a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m
index 79ce90b..f0aadb2 100644
--- a/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m
+++ b/EZSDK/EZSDK/EZ/Global/EZHttpUtil.m
@@ -32,6 +32,7 @@
 
 #define API_POST_EZ_GetCoverSwitchStaus @"/home-wisdom/platform/yingshi/getCoverSwitchStatus"//鑾峰彇钀ょ煶闀滃ご閬斀寮�鍏崇姸鎬�
 #define API_POST_EZ_GetCoverSwitch @"/home-wisdom/platform/yingshi/coverSwitch"//璁剧疆钀ょ煶闀滃ご閬斀寮�鍏�
+#define AOI_POST_EZ_UpdateAnswerStatus @"/home-wisdom/platform/yingshi/lock/updateAnswerStatus" // 鏇存敼闂ㄩ搩閫氳瘽鐘舵��(鎺ュ惉鍜屾湭鎺�)
 
 #pragma mark APP_KEY
 #define APP_KEY @"HDL-HOME-APP-TEST"
@@ -450,6 +451,29 @@
 }
 
 /**
+ *  @since 鏇存柊鎺ュ惉鐘舵��
+ *  @param msgId   娑堟伅id
+ *  @param answerStatus 鎺ュ惉鐘舵�侊紙answer 宸叉帴鍚�乶o_answer 鏈帴鍚級
+ *  @param completion   鍥炶皟block锛宔rror涓虹┖鏃惰〃绀烘垚鍔�
+ */
+- (void)updateAnswerStatusWithMsgId:(NSString *)msgId
+                       answerStatus:(NSString *)answerStatus
+                  completion:(void (^)(ResponseData *responseData))completion {
+    //璁剧疆璇锋眰鍙傛暟
+    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
+    [parameters setValue:msgId forKey:@"msgId"];
+    [parameters setValue:answerStatus forKey:@"answerStatus"];
+    
+    parameters = [self GetSignRequestDictionary:parameters];
+    
+    [self requestHttpsPost:AOI_POST_EZ_UpdateAnswerStatus parameters:parameters completion:^(ResponseData *responseData) {
+        if (completion) {
+            completion (responseData);
+        }
+    }];
+}
+
+/**
  *  @since 璁剧疆闀滃ご闅愮閬斀鐘舵��
  *  @param deviceSerial   璁惧搴忓垪鍙�
  *  @param enable   闅愮閬斀鐘舵��
diff --git a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
index 38efd50..b4eb890 100644
--- a/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
+++ b/EZSDK/EZSDK/EZ/TempPassword/Controllers/HDLEZDeviceMsgListViewController.m
@@ -117,8 +117,9 @@
             weakSelf.msgListV.msgList=weakSelf.msgList;
             if (weakSelf.msgListModel.list.count == weakSelf.pageSize) {
                 weakSelf.currentPageNo+=1;
+            } else {
+                [weakSelf.footer endRefreshingWithNoMoreData];
             }
-            [weakSelf.footer endRefreshingWithNoMoreData];
         }else{
             [weakSelf.view makeToast:responseData.message
                             duration:1.5
@@ -250,6 +251,7 @@
     self.photos = [NSMutableArray array];
     [self.photos addObject:[MWPhoto photoWithURL:[NSURL URLWithString:picUrl]]];
     MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
+    browser.displayActionButton = NO;
     browser.zoomPhotosToFill = NO;
     [browser showDownloadBtn];
 
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m
index bb4a517..609e952 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZDeviceTableViewController.m
@@ -192,9 +192,6 @@
     EZDeviceInfo *deviceInfo = sender;
     if ([[segue destinationViewController] isKindOfClass:[EZLivePlayViewController class]]) {
         ((EZLivePlayViewController *)[segue destinationViewController]).deviceInfo = deviceInfo;
-#warning mock test
-        NSLog(@"#######璺宠浆鍒拌澶囪鎯呴〉");
-        ((EZLivePlayViewController *)[segue destinationViewController]).isShowAlert = YES;
     } else if ([[segue destinationViewController] isKindOfClass:[EZPlaybackViewController class]]) {
         ((EZPlaybackViewController *)[segue destinationViewController]).deviceInfo = deviceInfo;
     } else if ([[segue destinationViewController] isKindOfClass:[EZMessageListViewController class]]) {
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h
index a12b37f..4308422 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.h
@@ -19,6 +19,7 @@
 
 @property (nonatomic, copy) NSString *deviceSerial;//璁惧搴忓垪鍙�
 @property (nonatomic, copy) NSString *deviceId;//璁惧id
+@property (nonatomic, copy) NSString *msgId;    // 娑堟伅id
 @property (nonatomic, assign) BOOL isVideoDoorLock; // 鏄惁涓鸿棰戦棬閿�
 
 
diff --git a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
index fc46471..d8cfecf 100644
--- a/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
+++ b/EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
@@ -284,6 +284,14 @@
     return _doorPlayerView;
 }
 
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    if (self.navigationController) {
+        self.navigationController.navigationBar.hidden = NO;
+        [self.navigationController setNavigationBarHidden:NO];
+    }
+}
+
 - (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear:animated];
     self.navigationController.navigationBar.hidden = NO;//2021-02-01
@@ -501,7 +509,7 @@
     [self.ignoreButton setTitle:HDLEZLocallizedString(@"device_callout_ignore") forState:UIControlStateNormal];
     self.ignoreButton.imagePosition = HDLEZOPButtonImagePositionTop;
     self.ignoreButton.spacingBetweenImageAndTitle = 12.;
-    [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answer") forState:UIControlStateNormal];
+    [self.answerButton setTitle:HDLEZLocallizedString(@"device_callout_answered") forState:UIControlStateNormal];
     self.answerButton.imagePosition = HDLEZOPButtonImagePositionTop;
     self.answerButton.spacingBetweenImageAndTitle = 12.;
     
@@ -512,11 +520,22 @@
     [self.fullSceneToolView configPlayStatus:YES soundOn:YES videoLevel:_cameraInfo.videoLevel toolOperation:^(HDLEZVideoFullSceneOperation operationType) {
         [weakSelf doorLockFullSceneOperation:operationType];
     }];
+    
+    // 鎸傛柇寮规
+    if (_isShowAlert) {
+        [self showCallOutAlertView];
+    } else {
+        [self hiddenCallOutAlertView];
+    }
 }
 
 /*寮�閿�
  */
 -(void)unlockDoor{
+    if (![self isSupportOneKeyUnlockDoor]) {    // 涓嶆敮鎸佷竴閿紑閿�
+        [UIView dd_showMessage:@"璇ヨ澶囦笉鏀寔涓�閿紑閿�"];
+        return;
+    }
     [HDLEZAlertInputView showInputAlertWithtitle:HDLEZLocallizedString(@"device_please_input_door_password") cancleTitle:HDLEZLocallizedString(@"device_temp_cancle") sureTitle:HDLEZLocallizedString(@"device_temp_sure") keyboardType:UIKeyboardTypeASCIICapableNumberPad cancleBlock:^{
         
     } sureBlock:^(NSString * _Nonnull content) {
@@ -864,7 +883,11 @@
     self.streamToken=tokenInfo.token;
     
     if (!_unlockButton.isEnabled) {
-        [_unlockButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock"] forState:UIControlStateNormal];
+        if ([self isSupportOneKeyUnlockDoor]) {    // 鏀寔涓�閿紑閿�
+            [_unlockButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock"] forState:UIControlStateNormal];
+        } else {
+            [_unlockButton setImage:[UIImage imageNamed:@"hdl_ez_ic_unlock_disable"] forState:UIControlStateNormal];
+        }
         _unlockButton.enabled=YES;
     }
 }
@@ -947,7 +970,7 @@
         [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
         [self.playerView setTranslatesAutoresizingMaskIntoConstraints:NO];
         [NSLayoutConstraint deactivateConstraints:@[self.scrollViewTopMargin, self.scrollViewWHRatio, self.playerViewWHRatio, self.playerViewBottomMargin]];
-        self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-HDLEZ_APP_STATUS_BAR_HEIGHT];
+        self.scrollViewTopMargin = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:-[self hdlEZStatusBarHeight]];
         self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:HDLEZ_APP_SCREEN_WIDTH/HDLEZ_APP_SCREEN_HEIGHT constant:0];
         
         self.playerViewWHRatio = [NSLayoutConstraint constraintWithItem:self.playerView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.playerView attribute:NSLayoutAttributeHeight multiplier:self.doorPlayerAspectRatio constant:0];
@@ -1429,6 +1452,12 @@
 - (IBAction)clickCalloutHangupAction:(id)sender {
     self.isShowAlert = NO;
     [self closeTalkView:self.talkCloseButton];
+    if (self.msgId && self.msgId.length > 0) {
+        [[EZHttpUtil sharedManager] updateAnswerStatusWithMsgId:self.msgId answerStatus:@"no_answer" completion:^(ResponseData * _Nonnull responseData) {
+            HDLEZLog(@"###########鎸傛柇####锛�%@", [responseData yy_modelToJSONString]);
+        }];
+    }
+    [self.navigationController popViewControllerAnimated:YES];
 }
 
 - (IBAction)clickCalloutIgnoreAction:(id)sender {
@@ -1441,6 +1470,12 @@
     self.isShowAlert = NO;
     self.isAnswering = YES;
     [self talkButtonClicked:self.talkButton];
+    if (self.msgId && self.msgId.length > 0) {
+        [[EZHttpUtil sharedManager] updateAnswerStatusWithMsgId:self.msgId answerStatus:@"answer" completion:^(ResponseData * _Nonnull responseData) {
+            HDLEZLog(@"###########鎺ュ惉####锛�%@", [responseData yy_modelToJSONString]);
+        }];
+    }
+    [self.navigationController popViewControllerAnimated:YES];
 }
 
 
@@ -1766,7 +1801,7 @@
 #pragma Setter
 - (void)setIsShowAlert:(BOOL)isShowAlert {
     _isShowAlert = isShowAlert;
-    if (isShowAlert) {
+    if (_isShowAlert) {
         [self showCallOutAlertView];
     } else {
         [self hiddenCallOutAlertView];
@@ -1786,4 +1821,24 @@
     return YES;
 }
 
+- (CGFloat)hdlEZStatusBarHeight {
+    if (@available(iOS 13.0, *)) {
+        NSSet *set = [UIApplication sharedApplication].connectedScenes;
+        UIWindowScene *windowScene = [set anyObject];
+        UIStatusBarManager *statusBarManager = windowScene.statusBarManager;
+        return statusBarManager.statusBarFrame.size.height;
+    } else {
+        return [UIApplication sharedApplication].statusBarFrame.size.height;
+    }
+}
+
+/// 鏄惁鏀寔涓�閿紑閿�
+- (BOOL)isSupportOneKeyUnlockDoor {
+    BOOL isSupport = YES;
+    if (self.deviceInfo && self.deviceInfo.deviceType && ([self.deviceInfo.deviceType containsString:@"LT20VC"] || [self.deviceInfo.deviceType containsString:@"LT20VC"])) {
+        isSupport = NO;
+    }
+    return isSupport;
+}
+
 @end
diff --git a/EZSDK/EZSDK/EZSDK.h b/EZSDK/EZSDK/EZSDK.h
index 442c613..e4a89c4 100644
--- a/EZSDK/EZSDK/EZSDK.h
+++ b/EZSDK/EZSDK/EZSDK.h
@@ -78,13 +78,18 @@
 /**
  鏌ョ湅瑙嗛鐩戞帶鐩存挱
  @param deviceInfo 璁惧淇℃伅
+ @param msgId 娑堟伅Id
  @param isShow 鏄惁灞曠ず鍛煎彨寮规
  */
-- (void)Play:(EZDeviceInfo*)deviceInfo showCallout:(BOOL)isShow;
+- (void)Play:(EZDeviceInfo*)deviceInfo messageId:(NSString *)msgId showCallout:(BOOL)isShow;
 
 /// 鎸囧畾搴忓垪鍙� 鏌ョ湅瑙嗛鐩戞帶鐩存挱
 /// @param deviceSerial 搴忓垪鍙�
 - (void)PlayWithDeviceSerial:(NSString *)deviceSerial;
+
+/// 鎸囧畾搴忓垪鍙� 鏌ョ湅瑙嗛鐩戞帶鐩存挱(鐚溂鍛煎彨鍔熻兘)
+/// @param deviceSerial 搴忓垪鍙�
+- (void)PlayWithDeviceSerial:(NSString *)deviceSerial msgId:(NSString *)msgId;
 
 /**
  鏍规嵁spk杩涘叆闂ㄩ攣瑙嗛
@@ -95,6 +100,15 @@
 -(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType;
 
 /**
+ 鏍规嵁spk杩涘叆闂ㄩ攣瑙嗛
+ @param deviceSerial 搴忓垪鍙�
+ @param deviceId 璁惧id
+ @param deviceType 璁惧spk(鐢ㄤ簬鍖哄垎鏄惁涓洪棬閿�)
+ @param msgId 娑堟伅id
+ */
+-(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType msgId:(NSString *)msgId;
+
+/**
  鎵撳紑鎽勫儚澶磋缃〉闈�
  */
 - (void)setting:(EZDeviceInfo*)deviceInfo;
diff --git a/EZSDK/EZSDK/EZSDK.m b/EZSDK/EZSDK/EZSDK.m
index 4300cc7..b9b1725 100644
--- a/EZSDK/EZSDK/EZSDK.m
+++ b/EZSDK/EZSDK/EZSDK.m
@@ -204,12 +204,19 @@
     [[self getCurrentVC] pushViewController:rootViewController animated:YES];
 }
 
-- (void)Play:(EZDeviceInfo*)deviceInfo showCallout:(BOOL)isShow {
+/**
+ 鏌ョ湅瑙嗛鐩戞帶鐩存挱
+ @param deviceInfo 璁惧淇℃伅
+ @param msgId 娑堟伅Id
+ @param isShow 鏄惁灞曠ず鍛煎彨寮规
+ */
+- (void)Play:(EZDeviceInfo*)deviceInfo messageId:(NSString *)msgId showCallout:(BOOL)isShow {
     [GlobalKit shareKit].deviceType=HDLEZDeviceType_Default;
     UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
     EZLivePlayViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
     rootViewController.isShowAlert = isShow;
     rootViewController.deviceInfo=(EZDeviceInfo *)deviceInfo;
+    rootViewController.msgId = msgId;
     NSLog(@"play--iphone--deviceName -%@",rootViewController.deviceInfo.deviceName);
 
     [[self getCurrentVC].navigationBar setHidden:NO];
@@ -232,6 +239,22 @@
     }];
 }
 
+/// 鎸囧畾搴忓垪鍙� 鏌ョ湅瑙嗛鐩戞帶鐩存挱(鐚溂鍛煎彨鍔熻兘)
+/// @param deviceSerial 搴忓垪鍙�
+- (void)PlayWithDeviceSerial:(NSString *)deviceSerial msgId:(NSString *)msgId {
+    //鑾峰彇璁惧鍒楄〃鎺ュ彛
+    [EZOpenSDK getDeviceInfo:deviceSerial completion:^(EZDeviceInfo *deviceInfo, NSError *error) {
+        if(error)
+        {
+            NSLog(@"EZ 鏌ヨ璁惧淇℃伅澶辫触");
+            return;
+        }
+        if (deviceInfo) {
+            [self Play:deviceInfo messageId:msgId showCallout:YES];
+        }
+    }];
+}
+
 /**
  鏍规嵁搴忓垪鍙疯繘鍏ラ棬閿佽棰�
  @param deviceSerial 搴忓垪鍙�
@@ -253,6 +276,24 @@
     [[self getCurrentVC] pushViewController:vc animated:YES];
 }
 
+-(void)PlayWithDeviceSerial:(NSString *)deviceSerial deviceId:(NSString*)deviceId deviceType:(NSString *)deviceType msgId:(NSString *)msgId {
+    if ([[self getCurrentVC] isKindOfClass:[EZLivePlayViewController class]]) {//闃叉閲嶅杩涘叆
+        return;
+    }
+    [GlobalKit shareKit].deviceType=[deviceType isEqualToString:HDLEZ_DOOR_SPK] ? HDLEZDeviceType_Door : HDLEZDeviceType_Default;
+    UIStoryboard *ezMainStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
+    EZLivePlayViewController *vc = [ezMainStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
+    vc.deviceId=deviceId;
+    vc.deviceSerial=deviceSerial;
+    vc.isShowAlert = YES;
+    vc.msgId = msgId;
+    
+    vc.isVideoDoorLock = [deviceType isEqualToString:HDLEZ_DOOR_SPK];
+    [[self getCurrentVC] setNavigationBarHidden:NO];
+    [[self getCurrentVC].navigationBar setHidden:NO];
+    [[self getCurrentVC] pushViewController:vc animated:YES];
+}
+
 /**
  鎵撳紑鎽勫儚澶磋缃〉闈�
  */

--
Gitblit v1.8.0