From cc0d80c7d86c6d0167269b3408c4b30c24ce84e9 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 23 三月 2020 16:55:37 +0800 Subject: [PATCH] ??????? --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs | 344 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 185 insertions(+), 159 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs index 8b4e4d4..08dbd3b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs @@ -7,23 +7,31 @@ { public class DoorLockCommonLayout : EditorCommonForm { + /// <summary> + /// 鏋勯�犲嚱鏁� + /// </summary> public DoorLockCommonLayout() { - } - #region 鈼� 鍙橀噺鐢虫槑__________________________ + #region 鍙橀噺鐢虫槑 public FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout }; public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1921 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout }; - #region 鈼� 搴曢儴鏈夊渾瑙掑竷灞�__________________________ + #region 搴曢儴鏈夊渾瑙掑竷灞� + /// 鑳屾櫙闃村奖鐣岄潰 + /// </summary> public FrameLayout shadowRadiusFrameLayout = new FrameLayout { BackgroundColor = 0x0f000000 }; - + /// <summary> + /// 璁剧疆鍦嗚鐨勭晫闈� + /// </summary> public FrameLayout bottomRadiusFrameLayout = new FrameLayout() { Height = Application.GetRealHeight(806), Y = Application.GetRealHeight(930), BackgroundColor = ZigbeeColor.Current.XMWhite, }; - + /// <summary> + /// 搴曢儴鍦嗚涓殑鍙栨秷鎸夐挳 + /// </summary> public Button btnCancel = new Button { X = Application.GetRealWidth(81), @@ -34,7 +42,9 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, }; - + /// <summary> + /// 搴曢儴鍦嗚涓殑鏍囬鏍� + /// </summary> public Button btnBottomTitle = new Button { X = Application.GetRealWidth(446 - 50), @@ -45,7 +55,9 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 16, }; - + /// <summary> + /// 搴曢儴鍦嗚涓殑纭鎸夐挳 + /// </summary> public Button btnFinish = new Button { X = Application.GetRealWidth(919), @@ -56,7 +68,9 @@ TextColor = Shared.Common.ZigbeeColor.Current.XMOrange, TextSize = 14, }; - + /// <summary> + /// 搴曢儴鍦嗚涓殑鏍囬鏍忎笅鐨勭嚎鏉� + /// </summary> public Button line = new Button() { Y = Application.GetRealHeight(138), @@ -66,15 +80,8 @@ #endregion - /// <summary> - /// 鈼� 涓儴鍒锋柊甯冨眬__________________________ - /// </summary> - //public VerticalRefreshLayout midVerticalScrolViewLayout = new VerticalRefreshLayout() - //{ - //}; - /// <summary> - /// 鈼� 鏍囬鏍忓竷灞�__________________________ + /// 鏍囬鏍忓竷灞� /// </summary> public FrameLayout titleFrameLayout = new FrameLayout { @@ -139,6 +146,7 @@ topFrameLayout.AddChidren(btnBackFrameLayout); topFrameLayout.AddChidren(titleFrameLayout); topFrameLayout.AddChidren(btnTitleLine); + var title = new Button() { TextAlignment = TextAlignment.CenterLeft, @@ -239,7 +247,7 @@ DateTime oldTime = DateTime.MaxValue; doorDialog.dialogBtnConfirm.MouseUpEventHandler += async (sender1, e1) => { - Application.RunOnMainThread(() => { CommonPage.Loading.Start("Loading..."); }); + Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); if (DateTime.Now < ZigBee.Device.DoorLock.minValue) { CommonPage.Loading.Hide(); @@ -288,7 +296,7 @@ { btnNext.IsSelected = true; } - if (!UserCenterResourse.Option.DoorUnLockByRemote) + if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) { string msg = Language.StringByID(R.MyInternationalizationString.RemoteUnlockBindSucessTip).Replace("{0}", "\r\n"); var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting)); @@ -347,6 +355,52 @@ } /// <summary> + /// 缁戝畾杩滅▼寮�閿佹潈闄愮獥鍙� + /// </summary> + /// <param name="doorLock"></param> + /// <param name="btnDoorLockTitle"></param> + public void BindRemoteUnlockDoorlock(ZigBee.Device.DoorLock doorLock, Button btnDoorLockTitle = null) + { + string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock); + var alertRemoteUnlockRequest = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting)); + alertRemoteUnlockRequest.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alertRemoteUnlockRequest.ConfirmClickEvent += () => + { + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + functionSetting.Show(); + functionSetting.devicNameAction += (deviceRename) => + { + if (!string.IsNullOrEmpty(deviceRename)) + { + if (btnDoorLockTitle != null) + { + btnDoorLockTitle.Text = deviceRename; + } + } + }; + }; + } + + /// <summary> + /// 绯荤粺浜屾纭绐楀彛 + /// </summary> + public void SystemSecondAuthentication() + { + string msgDoorUnLockByRemote = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n"); + var alertDoorUnLockByRemote = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting)); + alertDoorUnLockByRemote.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alertDoorUnLockByRemote.ConfirmClickEvent += () => + { + var form = new UserCenter.UserMain.SecondAuthenticationForm(); + form.AddForm(); + }; + } + + /// <summary> /// 杩滅▼寮�閿佽姹� /// </summary> /// <param name="doorLock">闂ㄩ攣璁惧</param> @@ -357,64 +411,13 @@ { if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword)) { - string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock); - var alertRemoteUnlockRequest = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting)); - alertRemoteUnlockRequest.Show(); - //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alertRemoteUnlockRequest.ConfirmClickEvent += () => - { - if (UserCenterResourse.UserInfo.AuthorityNo == 1) - { - var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - functionSetting.Show(); - functionSetting.devicNameAction += (deviceRename) => - { - if (!string.IsNullOrEmpty(deviceRename)) - { - if (btnDoorLockTitle != null) - { - btnDoorLockTitle.Text = deviceRename; - } - } - }; - } - else - { - var functionSettingSub = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSettingSub); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - functionSettingSub.Show(); - functionSettingSub.devicNameAction += (deviceRename) => - { - if (!string.IsNullOrEmpty(deviceRename)) - { - if (!string.IsNullOrEmpty(deviceRename)) - { - if (btnDoorLockTitle != null) - { - btnDoorLockTitle.Text = deviceRename; - } - } - } - }; - } - }; + BindRemoteUnlockDoorlock(doorLock, btnDoorLockTitle); return; } - if (!UserCenterResourse.Option.DoorUnLockByRemote) + if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) { - string msgDoorUnLockByRemote = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n"); - var alertDoorUnLockByRemote = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting)); - alertDoorUnLockByRemote.Show(); - //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� - alertDoorUnLockByRemote.ConfirmClickEvent += () => - { - var form = new UserCenter.UserMain.SecondAuthenticationForm(); - form.AddForm(); - }; + SystemSecondAuthentication(); return; } @@ -449,7 +452,8 @@ }); //杩滅▼寮�閿� var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword); - //寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲 + + //杩滅▼寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲 if (remoteControlResult != null && remoteControlResult.responseData != null) { if (remoteControlResult.responseData.status == 0) @@ -459,137 +463,70 @@ { if (progressButton != null) { - progressButton.Y = Application.GetRealHeight(347); + progressButton.Y = Application.GetRealHeight(10); } if (btnDoorLockPic != null) { - btnDoorLockPic.IsSelected = false; + btnDoorLockPic.IsSelected = true; } if (btnStatus != null) { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.DoorLockOpen); + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen); new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); } }); + //寮�閿佹垚鍔燂紝榛樿5绉掑悗闂ㄩ攣鑷姩鍏抽攣锛屾牴鎹笉鍚岀殑闂ㄩ攣鍙兘鏃堕棿涓嶅悓锛岃繖閲屼互鈥淗06C鈥濋棬閿佺粰鐨勬椂闂� System.Threading.Thread.Sleep(5000); } else { Application.RunOnMainThread(() => { - if (progressButton != null) - { - progressButton.Y = Application.GetRealHeight(347); - } - if (btnDoorLockPic != null) - { - btnDoorLockPic.IsSelected = false; - } - if (btnStatus != null) - { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); - } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); }); } } + //鐢ㄤ簬杩滅▼寮�閿佺殑闂ㄩ攣涓殑瀵嗙爜琚垹闄ゆ儏鍐� else if (remoteControlResult != null && remoteControlResult.IsPawDispear == true) { + //杩滅▼寮�閿佹湁3娆¤繛缁搷浣滃け璐ョ殑鏈轰細 ZigBee.Device.DoorLock.failedCount--; if (ZigBee.Device.DoorLock.failedCount != 0) { Application.RunOnMainThread(() => { - if (progressButton != null) - { - progressButton.Y = Application.GetRealHeight(347); - } - if (btnDoorLockPic != null) - { - btnDoorLockPic.IsSelected = false; - } - if (btnStatus != null) - { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); - } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); }); } else { + //3娆℃搷浣滃け璐ヨ繙绋嬪紑閿佸け璐ュ悗锛岄噸鍐欒缃繙绋嬪紑閿佸瘑鐮� Application.RunOnMainThread(() => { - if (progressButton != null) - { - progressButton.Y = Application.GetRealHeight(347); - } - if (btnDoorLockPic != null) - { - btnDoorLockPic.IsSelected = false; - } - if (btnStatus != null) - { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); - } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); - CommonPage.Loading.Hide(); doorLock.RemoteUnlockPassword = ""; - if (UserCenterResourse.UserInfo.AuthorityNo == 1) + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); + Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; + functionSetting.Show(); + functionSetting.devicNameAction += (deviceRename) => { - var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - functionSetting.Show(); - functionSetting.devicNameAction += (deviceRename) => + if (!string.IsNullOrEmpty(deviceRename)) { - if (!string.IsNullOrEmpty(deviceRename)) + if (btnDoorLockTitle != null) { - if (btnDoorLockTitle != null) - { - btnDoorLockTitle.Text = deviceRename; - } + btnDoorLockTitle.Text = deviceRename; } - }; - } - else - { - var functionSettingSub = new Shared.Phone.UserCenter.DoorLock.FunctionSettingSub(doorLock); - Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSettingSub); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - functionSettingSub.Show(); - functionSettingSub.devicNameAction += (deviceRename) => - { - if (!string.IsNullOrEmpty(deviceRename)) - { - if (!string.IsNullOrEmpty(deviceRename)) - { - if (btnDoorLockTitle != null) - { - btnDoorLockTitle.Text = deviceRename; - } - } - } - }; - } + } + }; }); } } + //杩滅▼寮�閿佸け璐ョ殑鎯呭喌 else { Application.RunOnMainThread(() => { - if (progressButton != null) - { - progressButton.Y = Application.GetRealHeight(347); - } - if (btnDoorLockPic != null) - { - btnDoorLockPic.IsSelected = false; - } - if (btnStatus != null) - { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); - } new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); }); } @@ -599,9 +536,17 @@ { Application.RunOnMainThread(() => { + if (progressButton != null) + { + progressButton.Y = Application.GetRealHeight(347); + } + if (btnDoorLockPic != null) + { + btnDoorLockPic.IsSelected = false; + } if (btnStatus != null) { - btnStatus.Text = Language.StringByID(R.MyInternationalizationString.CLose); + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.CLose); } CommonPage.Loading.Hide(); }); @@ -613,5 +558,86 @@ } // 鑾峰彇鍒板埌鍚嶇О鏇存敼鍥炶皟閫氱煡 public Action<string> devicNameSecAction; + + + /// <summary> + /// 褰撳墠閫変腑鐨勫紑閿佹柟寮� + /// </summary> + /// <param name="btnAllMethod"></param> + /// <param name="btnMethodText"></param> + /// <param name="oldbutton"></param> + /// <param name="oldbuttonText"></param> + public void CurrentSelectUnlockMethod(Button btnAllMethod, Button btnMethodText, Button oldbutton, Button oldbuttonText) + { + btnAllMethod.IsSelected = true; + btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + btnMethodText.IsBold = true; + oldbutton = btnAllMethod; + oldbuttonText = btnMethodText; + } + + /// <summary> + /// 鏄剧ず鎵�鏈夊紑閿佹柟寮忕殑鏁版嵁 + /// </summary> + /// <param name="curIndex"></param> + /// <param name="btnAllMethod"></param> + /// <param name="btnMethodText"></param> + public void DisplayAllUnlockMethod(int curIndex, Button btnAllMethod, Button btnMethodText) + { + switch (curIndex) + { + case 0: + btnAllMethod.UnSelectedImagePath = "DoorLock/AllMethod.png"; + btnAllMethod.SelectedImagePath = "DoorLock/AllMethodOn.png"; + btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.AllMethod); + break; + case 1: + btnAllMethod.UnSelectedImagePath = "DoorLock/Password.png"; + btnAllMethod.SelectedImagePath = "DoorLock/PasswordOn.png"; + btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.PasswordUnlock); + break; + case 2: + btnAllMethod.UnSelectedImagePath = "DoorLock/Fingerprint.png"; + btnAllMethod.SelectedImagePath = "DoorLock/FingerprintOn.png"; + btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.FingerprintUnlock); + break; + case 3: + btnAllMethod.UnSelectedImagePath = "DoorLock/proximityCard.png"; + btnAllMethod.SelectedImagePath = "DoorLock/proximityCardOn.png"; + btnMethodText.Text = Language.StringByID(R.MyInternationalizationString.ProximithCardUnlock); + break; + } + } + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鏄剧ず閿欒淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + public void ShowErrorMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Error, msg); + contr.Show(); + }); + } + + /// <summary> + /// 鏄剧ずTip淇℃伅绐楀彛 + /// </summary> + /// <param name="msg"></param> + public void ShowTipMsg(string msg) + { + Application.RunOnMainThread(() => + { + var contr = new ShowMsgControl(ShowMsgType.Tip, msg); + contr.Show(); + CommonPage.Loading.Hide(); + }); + } + + #endregion } } -- Gitblit v1.8.0