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/DoorLockCommonLayout.cs | 239 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 123 insertions(+), 116 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs index 1577b96..29c1290 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonLayout.cs @@ -14,8 +14,8 @@ { } #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 }; + public new FrameLayout topFrameLayout = new FrameLayout { Height = Application.GetRealHeight(184), BackgroundColor = ZigbeeColor.Current.XMTopFrameLayout }; + public FrameLayout midFrameLayout = new FrameLayout { Height = Application.GetRealHeight(1925 - 184), BackgroundColor = ZigbeeColor.Current.XMMidFrameLayout }; #region 搴曢儴鏈夊渾瑙掑竷灞� /// 鑳屾櫙闃村奖鐣岄潰 /// </summary> @@ -120,7 +120,6 @@ Height = 1, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine, }; - /// <summary> /// 寮圭獥鍙栨秷鎸夐敭 @@ -233,6 +232,7 @@ PlaceholderText = Language.StringByID(R.MyInternationalizationString.InputUnlockPasswrd), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextAlignment = TextAlignment.BottomLeft, + IsNumberKeyboardType = true, }; editInputPasswordFrameLayout.AddChidren(editInputPassword); @@ -247,11 +247,11 @@ 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(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.NoFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoFiftySeconds)); return; } @@ -266,7 +266,7 @@ ZigBee.Device.DoorLock.minValue = DateTime.Now.AddSeconds(+15); oldTime = ZigBee.Device.DoorLock.minValue; CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AfterFiftySeconds)); return; } @@ -275,7 +275,7 @@ ZigBee.Device.DoorLock.RemoteUnlockCount--; string tipText = Language.StringByID(R.MyInternationalizationString.PasswordError) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity); CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); + this.ShowMassage(ShowMsgType.Tip, tipText); return; } @@ -296,10 +296,10 @@ { btnNext.IsSelected = true; } - if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + if (!HdlUserCenterResourse.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)); + var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting)); alert.Show(); //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� alert.ConfirmClickEvent += () => @@ -315,14 +315,14 @@ ZigBee.Device.DoorLock.RemoteUnlockCount--; string tipText = Language.StringByID(R.MyInternationalizationString.OperrateFailed) + "," + Language.StringByID(R.MyInternationalizationString.Surplus) + ZigBee.Device.DoorLock.RemoteUnlockCount.ToString() + Language.StringByID(R.MyInternationalizationString.Opportunity); CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = tipText, Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); + this.ShowMassage(ShowMsgType.Tip, tipText); return; } } else { CommonPage.Loading.Hide(); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Down, CloseTime = 2 }.Show(editInputPassword); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime)); return; } }; @@ -341,13 +341,60 @@ /// </summary> /// <param name="doorLock">闂ㄩ攣璁惧</param> /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param> - public static void SecurityRequest(ZigBee.Device.DoorLock doorLock, Action action) + public static void SecurityRequest(ZigBee.Device.DoorLock doorLock) { - string msg = Language.StringByID(R.MyInternationalizationString.GoPersonalCenter).Replace("{0}", "\r\n"); - var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting)); + string msg = Language.StringByID(R.MyInternationalizationString.SetSecondarySecurityVerificationMode).Replace("{0}", "\r\n"); + var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.GoSetting)); alert.Show(); //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� alert.ConfirmClickEvent += () => + { + var form = new UserCenter.UserMain.SecondAuthenticationForm(); + form.AddForm(); + }; + } + + /// <summary> + /// 缁戝畾杩滅▼寮�閿佹潈闄愮獥鍙� + /// </summary> + /// <param name="doorLock"></param> + /// <param name="btnDoorLockTitle"></param> + public void BindRemoteUnlockDoorlock(Room room, CommonDevice devDoorLock, Button btnDoorLockTitle = null) + { + ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock; + string msgRemoteUnlockRequest = Language.StringByID(R.MyInternationalizationString.BindRemoteUnlockDoorlock); + var alertRemoteUnlockRequest = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgRemoteUnlockRequest, Language.StringByID(R.MyInternationalizationString.GoSetting)); + alertRemoteUnlockRequest.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alertRemoteUnlockRequest.ConfirmClickEvent += () => + { + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock); + 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 ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msgDoorUnLockByRemote, Language.StringByID(R.MyInternationalizationString.GoSetting)); + alertDoorUnLockByRemote.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alertDoorUnLockByRemote.ConfirmClickEvent += () => { var form = new UserCenter.UserMain.SecondAuthenticationForm(); form.AddForm(); @@ -361,50 +408,23 @@ /// <param name="action">浜屾楠岃瘉鐨勭粨鏋滄垚鍔熷悗鐨勯�氱煡</param> /// <param name="progressButton">闂ㄩ攣寮�鎴栧叧鏃惰繘搴︽樉绀�</param> /// <param name="btnDoorLockPic">闂ㄩ攣鍥剧墖寮�/鍏虫樉绀�</param> - public void RemoteUnlockRequest(ZigBee.Device.DoorLock doorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null) + public void RemoteUnlockRequest(Room room, CommonDevice devDoorLock, Action action, Button progressButton = null, Button btnDoorLockPic = null, Button btnStatus = null, Button btnDoorLockTitle = null) { + ZigBee.Device.DoorLock doorLock = devDoorLock as ZigBee.Device.DoorLock; 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 += () => - { - 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; - } - } - }; - }; + BindRemoteUnlockDoorlock(room, devDoorLock, btnDoorLockTitle); return; } - if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + if (!HdlUserCenterResourse.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; } string msg = Language.StringByID(R.MyInternationalizationString.SureToOpenDoorLock); - var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); alert.Show(); //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� alert.ConfirmClickEvent += () => @@ -434,7 +454,8 @@ }); //杩滅▼寮�閿� var remoteControlResult = await doorLock.RemoteControlAsync(doorLock.RemoteUnlockPassword); - //寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲 + + //杩滅▼寮�閿佹垚鍔燂紝杩斿洖榛樿鍝嶅簲 if (remoteControlResult != null && remoteControlResult.responseData != null) { if (remoteControlResult.responseData.status == 0) @@ -444,82 +465,43 @@ { 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); - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.UnlockSuccess), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(CommonPage.Instance); + btnStatus.Text = Language.StringByID(R.MyInternationalizationString.Current) + Language.StringByID(R.MyInternationalizationString.DoorLockOpen); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockSuccess)); } }); + //寮�閿佹垚鍔燂紝榛樿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); - }); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed)); } } + //鐢ㄤ簬杩滅▼寮�閿佺殑闂ㄩ攣涓殑瀵嗙爜琚垹闄ゆ儏鍐� 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); - }); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.UnlockFailed)); } 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(); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.DoorlockPasswordDispear)); doorLock.RemoteUnlockPassword = ""; - var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(room, devDoorLock); Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; functionSetting.Show(); @@ -536,24 +518,10 @@ }); } } + //杩滅▼寮�閿佸け璐ョ殑鎯呭喌 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); - }); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.GwResponseOvertime)); } } catch { } @@ -561,15 +529,24 @@ { 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(); }); } }); }; + HdlCheckLogic.Current.CheckSecondarySecurity(action); }; } @@ -626,5 +603,35 @@ } } + #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