From 4e78c9c795dff269ebea37f4e7572d8c8b7d4a69 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 20 五月 2020 15:14:17 +0800
Subject: [PATCH] 请合并门锁最新代码【1、优化门锁常开模式推送和增加机械门锁开锁功能;2、优化面板调光目标】

---
 ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs |   77 +++++++++++++++++++++++++++++++-------
 1 files changed, 63 insertions(+), 14 deletions(-)

diff --git a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index ea254b3..2551447 100644
--- a/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp20200519/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -17,12 +17,29 @@
         public UserDoorLockPage(Room room, CommonDevice doorLock)
         {
             //寰愭鐨勯棬閿佺晫闈㈡墦寮�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
-            ControlCommonResourse.IsDoorLockPageOpen = true;
+            //ControlCommonResourse.IsDoorLockPageOpen = true; 
             this.doorLock = doorLock as ZigBee.Device.DoorLock;
             currentRoom = room;
             deviceUI = doorLock;
             BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor;
             ZbGateway.StatusList.Add(this);
+            Application.RunOnMainThread(() =>
+            {
+                ControlCommonResourse.UpdateDoorLockStatusAction = (obj) =>
+                {
+                    UpdateNomallyOpenStatus();
+                };
+
+                UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, status) =>
+                {
+                    var key = doorLock.DeviceAddr + doorLock.DeviceEpoint;
+                    if (DoorlockKey == key)
+                    {
+                        DoorLockCommonInfo.NormallyOpenModeValue(this.doorLock, status);
+                        UpdateNomallyOpenStatus();
+                    }
+                };
+            });
         }
 
         #region  鍙橀噺鐢虫槑
@@ -621,6 +638,35 @@
                 }
             }
 
+            //缃戝叧鎵ц閫昏緫锛屽父寮�妯″紡澶辨晥涓婃姤
+            //if (typeTag == "DoorLockAlarmsSendAlarmInform" && tempDevice != null)
+            //{
+            //    var doorL = (ZigBee.Device.DoorLock)tempDevice;
+
+            //    if (doorL.DeviceAddr + doorL.DeviceEpoint == doorLock.DeviceAddr + doorLock.DeviceEpoint)
+            //    {
+            //        //闈炰富浜轰笉寮硅繖涓獥鍙�
+            //        if (UserCenterResourse.UserInfo.AuthorityNo != 1)
+            //        {
+            //            return;
+            //        }
+            //        if (doorLock.IsDoorLockNormallyMode)
+            //        {
+            //            if (canOpenNormallyMode)
+            //            {
+            //                Application.RunOnMainThread(() =>
+            //                {
+            //                    Action<bool> action = (obj) =>
+            //                    {
+            //                        UpdateNomallyOpenStatus();
+            //                    };
+            //                    DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action);
+            //                });
+            //            }
+            //        }
+            //    }
+            //}
+
             if (typeTag == "DeviceStatusReport" && tempDevice != null)
             {
                 if (tempDevice != null)
@@ -687,18 +733,19 @@
                                 tempRes = false;
                             }
                             DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
-                            Application.RunOnMainThread(async () =>
-                            {
-                                var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock);
-                                if (resTemp == 1)
-                                {
-                                    haveLogicNormallyOpenMode = true;
-                                }
-                                else if (resTemp == 0)
-                                {
-                                    haveLogicNormallyOpenMode = false;
-                                }
-                            });
+
+                            //Application.RunOnMainThread(async () =>
+                            //{
+                            //var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3, doorLock);
+                            //if (resTemp == 1)
+                            //{
+                            //    haveLogicNormallyOpenMode = true;
+                            //}
+                            //else if (resTemp == 0)
+                            //{
+                            //    haveLogicNormallyOpenMode = false;
+                            //}
+                            //});
                         }
                     }
                     else
@@ -1186,7 +1233,9 @@
         public override void RemoveFromParent()
         {
             //寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�)
-            ControlCommonResourse.IsDoorLockPageOpen = false;
+            //ControlCommonResourse.IsDoorLockPageOpen = false;
+            ControlCommonResourse.UpdateDoorLockStatusAction = null;
+            UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction = null;
             if (IsDrawerLockMode)
             {
                 CommonPage.Instance.IsDrawerLockMode = false;

--
Gitblit v1.8.0