From c1de48884fa145a16a0f8bcee93274dcfaa0ff82 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 07 五月 2020 10:40:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 175 ++++++++++++++++++++++++++------------------------------- 1 files changed, 80 insertions(+), 95 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index fdac3f9..39a423b 100644 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -47,7 +47,7 @@ /// </summary> bool canVolume = false; /// <summary> - /// 淇濈暀涓婁竴娆¢煶閲� + /// 鏄惁鏀寔甯稿紑 /// </summary> bool canOpenNormallyMode = false; /// <summary> @@ -182,7 +182,7 @@ #endregion /// <summary> - /// UI鏄剧ず + /// UI鏄剧ず /// </summary> public void Show() { @@ -218,7 +218,7 @@ ClickHandle(); - if (doorLock.IsOnline == 1) + if (Common.LocalDevice.Current.CheckDeviceIsOnline(doorLock) == true) { ReadDoorLockUserInfo(); } @@ -510,7 +510,7 @@ TextAlignment = TextAlignment.CenterLeft, }; btnCurrentFrameLayout.AddChidren(btnCurrentRoomName); - #endregion + #endregion } #region 闊抽噺寮圭獥 @@ -565,7 +565,7 @@ ThumbImagePath = "DoorLock/UnLockButton.png",//杩涘害鏉℃寜閽浘鏍� ThumbImageHeight = Application.GetRealHeight(81),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級 ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, - ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏� + ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏� SeekBarViewHeight = Application.GetRealHeight(17),//杩涘害鏉$殑瀹藉害 Progress = currentVolume, }; @@ -605,15 +605,11 @@ { return; } - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + if (doorLock.IsDoorLockNormallyMode) { - if (doorLock.IsDoorLockNormallyMode[key] == true) - { - if (canOpenNormallyMode) - { - Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); - } + if (canOpenNormallyMode) + { + Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); } } } @@ -685,12 +681,10 @@ { tempRes = false; } - - NormallyOpenModeValue(tempRes); - + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes); Application.RunOnMainThread(async () => { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2); if (resTemp == 1) { HaveLogicNormallyOpenMode = true; @@ -714,7 +708,7 @@ canVolume = DoorLockCommonInfo.CanVolume(doorLock); if (canVolume) { - //璇诲彇闊抽噺 + //璇诲彇闊抽噺 var resultRes = await doorLock.GetVolumeAsync(); if (resultRes == null || resultRes.volumeResponseData == null) { @@ -770,9 +764,9 @@ #endregion - #region 鍏叡浜嬩欢澶勭悊 + #region 鍏叡浜嬩欢澶勭悊 /// <summary> - /// 浜嬩欢澶勭悊 + /// 浜嬩欢澶勭悊 /// </summary> public void ClickHandle() { @@ -790,8 +784,9 @@ //璁剧疆 EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) => { - //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎 - RemoveFromParent(); + //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎銆愭殏鏃朵笉绉婚櫎銆� + //RemoveFromParent(); + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; @@ -837,11 +832,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; @@ -850,20 +845,11 @@ //寮�閿佷簨浠� EventHandler<MouseEventArgs> hander1 = async (sender, e) => { - - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + if (doorLock.IsDoorLockNormallyMode) { - if (doorLock.IsDoorLockNormallyMode[key] == true) - { - if (canOpenNormallyMode) - { - NomallyOpenModeInvalidDialog(false); - } - else - { - OpenDoorLockHandle(progressButton, btnDoorLockPic, btnStatus); - } + if (canOpenNormallyMode) + { + NomallyOpenModeInvalidDialog(false); } else { @@ -887,13 +873,9 @@ { if (canOpenNormallyMode) { - var key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + if (doorLock.IsDoorLockNormallyMode) { - if (doorLock.IsDoorLockNormallyMode[key] == true) - { - NomallyOpenModeInvalidDialog(); - } + NomallyOpenModeInvalidDialog(); } } else @@ -961,7 +943,7 @@ } #endregion - #region 闊抽噺 + #region 闊抽噺 /// <summary> /// 鏇存柊闊抽噺 /// </summary> @@ -1036,28 +1018,41 @@ } #endregion - #region 甯稿紑妯″紡 - /// <summary> - /// 闂ㄩ攣甯稿紑妯″紡鍊� - /// </summary> - public void NormallyOpenModeValue(bool value) - { - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) - { - doorLock.IsDoorLockNormallyMode[key] = value; - } - else - { - doorLock.IsDoorLockNormallyMode.Add(key, value); - } - } - + #region 甯稿紑妯″紡 /// <summary> /// 甯稿紑妯″紡澶勭悊 /// </summary> private async void NomallyOpenDialog() { + #region 鍚庣画鐗堟湰 + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); + return; + } + + if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + { + SystemSecondAuthentication(); + return; + } + + action = () => + { + //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥�� + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + functionSetting.Show(); + // functionSetting.aaaAction = () => + //{ + // UpdateNomallyOpenStatus(); + //}; + }; + HdlCheckLogic.Current.CheckSecondarySecurity(action); + #endregion + + #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級 if (!btnNormallyOpen.IsSelected) { if (UserCenterResourse.UserInfo.AuthorityNo != 1) @@ -1102,7 +1097,7 @@ //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂 DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12; - NormallyOpenModeValue(true); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1113,6 +1108,7 @@ AlreadyOpenNormallyMode(); } }; + }; HdlCheckLogic.Current.CheckSecondarySecurity(action); } @@ -1120,6 +1116,8 @@ { NomallyOpenModeInvalidDialog(); } + + #endregion } /// <summary> @@ -1147,7 +1145,7 @@ if (IsFromReport) { //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 - NormallyOpenModeValue(false); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1166,7 +1164,7 @@ else { //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� - NormallyOpenModeValue(true); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1195,11 +1193,11 @@ var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - NormallyOpenModeValue(false); Application.RunOnMainThread(() => { + string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowTipMsg(msg0); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); UpdateNomallyOpenStatus(); }); return; @@ -1208,7 +1206,7 @@ { string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); this.ShowTipMsg(msg1); - NormallyOpenModeValue(false); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1218,13 +1216,13 @@ else { //淇濇寔鈥滃父寮�鎴愬姛鈥� - NormallyOpenModeValue(true); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); }); - //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 + //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); //if (!resu) //{ @@ -1238,7 +1236,7 @@ else { //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� - NormallyOpenModeValue(true); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1251,7 +1249,7 @@ if (IsFromReport) { //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� - NormallyOpenModeValue(false); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1291,7 +1289,7 @@ HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty); //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� - NormallyOpenModeValue(false); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -1331,7 +1329,7 @@ alertNomallyModeIsTurnOn.Show(); alertNomallyModeIsTurnOn.MsgControlClickEvent += async () => { - //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 + //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); //if (!res) //{ @@ -1359,7 +1357,7 @@ /// </summary> private void NomallyOpenModeInvalidTimeDialog() { - //澶辨晥璁剧疆 + //澶辨晥璁剧疆 string msgTimeInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); var timeConfrim = Language.StringByID(R.MyInternationalizationString.Confrim); var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim); @@ -1367,30 +1365,17 @@ alertTimeInValidSetting.InvalidTimeAction += async (obj) => { - Regex rg = new Regex("^[0-9]+$"); - if (!rg.IsMatch(obj)) - { - //蹇呴』鏄暟瀛� - string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip); - this.ShowTipMsg(msg0); - - string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); - var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim); - var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2); - alertTimeInValidSetting2.Show(); - return; - } //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛 var temp = int.Parse(obj); DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; - //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 + //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); if (!res) { //榛樿鍒涘缓甯稿紑妯″紡澶辫触 string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - + var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim)); + alert.Show(); //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀� NomallyOpenModeInvalidTimeDialog(); } @@ -1407,8 +1392,7 @@ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0); return; } - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode[key] == true) + if (doorLock.IsDoorLockNormallyMode) { btnNormallyOpen.IsSelected = true; btnDoorLockPic.IsSelected = true; @@ -1416,7 +1400,7 @@ btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen); } - else if (doorLock.IsDoorLockNormallyMode[key] == false) + else if (!doorLock.IsDoorLockNormallyMode) { btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose); btnDoorLockPic.IsSelected = false; @@ -1426,7 +1410,7 @@ } #endregion - #region 寮�閿佸鐞� + #region 寮�閿佸鐞� /// <summary> /// 寮�閿佸鐞� /// </summary> @@ -1505,6 +1489,7 @@ CommonPage.Instance.IsDrawerLockMode = false; } ZbGateway.StatusList.Remove(this); + DoorLockCommonInfo.LogicAction = null; base.RemoveFromParent(); } #endregion -- Gitblit v1.8.0