From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 185 ++++++++++++++++++++-------------------------- 1 files changed, 80 insertions(+), 105 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index 0562afe..c9ef969 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -25,14 +25,9 @@ ZbGateway.StatusList.Add(this); Application.RunOnMainThread(() => { - ControlCommonResourse.UpdateDoorLockStatusAction = (obj) => - { - UpdateNomallyOpenStatus(); - }; - UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction += (DoorlockKey, status) => { - var key = doorLock.DeviceAddr + doorLock.DeviceEpoint; + var key = doorLock.DeviceAddr; if (DoorlockKey == key) { DoorLockCommonInfo.NormallyOpenModeValue(this.doorLock, status); @@ -56,9 +51,9 @@ /// </summary> DateTime waitGetDoorLockPower = DateTime.MaxValue; /// <summary> - /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡 + /// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡 /// </summary> - private bool haveLogicNormallyOpenMode = false; + private bool haveLogicNormallyOpenMode = false; /// <summary> /// 褰撳墠鐢甸噺 @@ -199,11 +194,11 @@ bool IsClick = true; #endregion - /// <summary> - /// UI鏄剧ず + /// <summary> + /// UI鏄剧ず /// </summary> public void Show() - { + { this.TopFrameLayout(this, ""); this.MidFrameLayout(this); @@ -236,7 +231,7 @@ ClickHandle(); - if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true) + if (HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(doorLock) == true) { ReadDoorLockUserInfo(); } @@ -269,7 +264,7 @@ btnDoorLockTitle.Y = Application.GetRealHeight(46); btnDoorLockTitle.TextSize = 15; btnDoorLockTitle.IsBold = true; - btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); + btnDoorLockTitle.Text = HdlDeviceCommonLogic.Current.GetDeviceMacName(doorLock); btnDoorLockTitle.Width = btnDoorLockTitle.GetRealWidthByText(); btnDoorLockTitle.TextAlignment = TextAlignment.Center; btnDoorLockTitle.Gravity = Gravity.CenterHorizontal; @@ -310,9 +305,9 @@ UnSelectedImagePath = "Item/Collection.png", SelectedImagePath = "Item/CollectionSelected.png" }; - btnCollectFrameLayout.AddChidren(btnCollect); - - //褰撳墠鐘舵�� + btnCollectFrameLayout.AddChidren(btnCollect); + + //褰撳墠鐘舵�� btnStatus = new Button() { Width = Application.GetRealWidth(132 + 351), @@ -337,9 +332,9 @@ TextSize = 10, TextAlignment = TextAlignment.CenterLeft, }; - midTopFrameLayout.AddChidren(btnCurrentPowerText); -#if Android - btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20); + midTopFrameLayout.AddChidren(btnCurrentPowerText); +#if Android + btnCurrentPowerText.X = btnStatus.Right + Application.GetRealWidth(20); #endif //闂ㄩ攣寮�/鍏冲浘鐗� @@ -616,12 +611,12 @@ if (tempDoor.doorLockOperatingEventNotificationCommand != null) { //闈炰富浜轰笉寮硅繖涓獥鍙� - if (UserCenterResourse.UserInfo.AuthorityNo != 1) - { - return; + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) + { + return; } - if (doorLock.IsDoorLockNormallyMode) - { + if (doorLock.IsDoorLockNormallyMode) + { if (canOpenNormallyMode) { Application.RunOnMainThread(() => @@ -637,35 +632,6 @@ } } } - - //缃戝叧鎵ц閫昏緫锛屽父寮�妯″紡澶辨晥涓婃姤 - //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) { @@ -734,18 +700,18 @@ } 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(2, doorLock); + if (resTemp == 0) + { + haveLogicNormallyOpenMode = false; + } + else + { + haveLogicNormallyOpenMode = true; + } + }); } } else @@ -766,7 +732,7 @@ { var listDevice = new List<CommonDevice> { }; listDevice.Add(doorLock); - var devTemp = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + var devTemp = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice); if (devTemp.ConcreteType == DeviceConcreteType.IntelligentLocks_Sone) { Application.RunOnMainThread(() => @@ -823,7 +789,7 @@ public void ClickHandle() { //闂ㄩ攣鏍囬 - btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); + btnDoorLockTitle.Text = HdlDeviceCommonLogic.Current.GetDeviceMacName(doorLock); //杩斿洖 EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -897,8 +863,8 @@ { if (doorLock.IsDoorLockNormallyMode) { - if (canOpenNormallyMode) - { + if (canOpenNormallyMode) + { Application.RunOnMainThread(() => { Action<bool> action = (obj) => @@ -912,7 +878,7 @@ { OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); } - } + } else { OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); @@ -1088,13 +1054,13 @@ /// </summary> private async void NomallyOpenDialog() { - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); return; } - if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + if (!HdlUserCenterResourse.AccountOption.DoorUnLockByRemote) { SystemSecondAuthentication(); return; @@ -1102,37 +1068,49 @@ action = () => { - //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥�� - if (doorLock == null) - { + //WJC鐨勪唬鐮侊細绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥�� + if (doorLock == null) + { ///闃叉鎶涘紓甯� - return; - } - ///澶囨敞锛歐JC鐨� - Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock; - ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱 - Common.Logic.LogicDviceList.Clear(); - if (Common.Logic.LogicDviceList.Count == 0) - { - Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); - } - var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList(); - UserView.HomePage.Instance.AddChidren(addLogicPage); - UserView.HomePage.Instance.PageIndex += 1; - addLogicPage.Show(); - addLogicPage.action += (w) => - { - doorLock.IsDoorLockNormallyMode = w; - UpdateNomallyOpenStatus(); - //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction - UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; - }; + return; + } + ///澶囨敞锛歐JC鐨� + Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock; + ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱 + Common.Logic.LogicDviceList.Clear(); + if (Common.Logic.LogicDviceList.Count == 0) + { + Common.Logic.LogicDviceList.AddRange(HdlDeviceCommonLogic.Current.listAllDevice.ToArray()); + } + var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList(); + UserView.HomePage.Instance.AddChidren(addLogicPage); + UserView.HomePage.Instance.PageIndex += 1; + addLogicPage.Show(); + addLogicPage.action += async (w) => + { + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, w); + UpdateNomallyOpenStatus(); + //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction + UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; + //鏄惁瀛樺湪甯稿紑妯″紡 + var resTemp = Shared.Common.Logic.SoneLogicList; + if (resTemp.Count == 0) + { + haveLogicNormallyOpenMode = false; + } + else + { + haveLogicNormallyOpenMode = true; + } + + UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction -= addLogicPage.updateCurrentDoorlockActionTemp; + }; }; HdlCheckLogic.Current.CheckSecondarySecurity(action); - } - - /// <summary> + } + + /// <summary> /// 甯稿紑妯″紡鐘舵�佹洿鏂� /// </summary> private void UpdateNomallyOpenStatus() @@ -1171,7 +1149,7 @@ { openFrameLayout.Enable = false; btnDoorOpenPic.Enable = false; - if (UserCenterResourse.UserInfo.AuthorityNo != 1) + if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1) { var result = await DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid); if (result == false) @@ -1214,8 +1192,8 @@ { if (!string.IsNullOrEmpty(deviceRename)) { - btnDoorLockTitle.Text = deviceRename; - //鏀规埧闂� + btnDoorLockTitle.Text = deviceRename; + //鏀规埧闂� HdlRoomLogic.Current.ChangedRoom(deviceUI, currentRoom.Id); deviceUI.ReSave(); } @@ -1232,9 +1210,6 @@ /// </summary> public override void RemoveFromParent() { - //寰愭鐨勯棬閿佺晫闈㈠叧闂�(缃戝叧鍏ㄥ眬鎺ユ敹鏃朵娇鐢�) - //ControlCommonResourse.IsDoorLockPageOpen = false; - ControlCommonResourse.UpdateDoorLockStatusAction = null; UserCenter.DoorLock.DoorLockCommonInfo.UpdateCurrentDoorlockAction = null; if (IsDrawerLockMode) { -- Gitblit v1.8.0