HDL Home App 第二版本 旧平台金堂用 正在使用
xm
2020-05-21 6c027ca3f13f622c59f45c42f476dd9939ad5226
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  变量申明
@@ -41,7 +58,7 @@
        /// <summary>
        /// 逻辑中是否有常开模式
        /// </summary>
        private bool haveLogicNormallyOpenMode = false;
        private bool haveLogicNormallyOpenMode = false;
        /// <summary>
        /// 当前电量
@@ -183,7 +200,7 @@
        #endregion
        /// <summary>
        /// UI显示
        /// UI显示
        /// </summary>
        public void Show()
        {
@@ -508,7 +525,7 @@
                TextAlignment = TextAlignment.CenterLeft,
            };
            btnCurrentFrameLayout.AddChidren(btnCurrentRoomName);
            #endregion
            #endregion
        }
        #region 音量弹窗
@@ -563,7 +580,7 @@
                ThumbImagePath = "DoorLock/UnLockButton.png",//进度条按钮图标
                ThumbImageHeight = Application.GetRealHeight(81),//进度条按钮图标的高度(默认正方形:宽和高一样)
                ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                ProgressTextSize = 12,//显示百分比字体大小
                ProgressTextSize = 12,//显示百分比字体大小
                SeekBarViewHeight = Application.GetRealHeight(17),//进度条的宽度
                Progress = currentVolume,
            };
@@ -620,6 +637,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)
            {
@@ -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
@@ -713,7 +760,7 @@
                    canVolume = DoorLockCommonInfo.CanVolume(doorLock);
                    if (canVolume)
                    {
                        //2、读取音量
                        //2、读取音量
                        var resultRes = await doorLock.GetVolumeAsync();
                        if (resultRes == null || resultRes.volumeResponseData == null)
                        {
@@ -769,9 +816,9 @@
        #endregion
        #region 公共事件处理
        #region 公共事件处理
        /// <summary>
        /// 事件处理
        /// 事件处理
        /// </summary>
        public void ClickHandle()
        {
@@ -835,11 +882,11 @@
                btnCollect.IsSelected = !btnCollect.IsSelected;
                if (btnCollect.IsSelected)
                {
                    HdlRoomLogic.Current.AddLoveDevice(deviceUI);//收藏
                    HdlRoomLogic.Current.AddLoveDevice(deviceUI);//收藏
                }
                else
                {
                    HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//取消收藏
                    HdlRoomLogic.Current.DeleteLoveDevice(deviceUI);//取消收藏
                }
            };
            btnCollectFrameLayout.MouseDownEventHandler += handerCollect;
@@ -960,7 +1007,7 @@
        }
        #endregion
        #region 音量
        #region 音量
        /// <summary>
        /// 更新音量
        /// </summary>
@@ -1035,7 +1082,7 @@
        }
        #endregion
        #region 常开模式
        #region 常开模式
        /// <summary>
        /// 常开模式处理
        /// </summary>
@@ -1083,9 +1130,9 @@
            };
            HdlCheckLogic.Current.CheckSecondarySecurity(action);
        }
        /// <summary>
        }
        /// <summary>
        /// 常开模式状态更新
        /// </summary>
        private void UpdateNomallyOpenStatus()
@@ -1113,7 +1160,7 @@
        }
        #endregion
        #region 开锁处理
        #region 开锁处理
        /// <summary>
        /// 开锁处理
        /// </summary>
@@ -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;