From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs | 562 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 347 insertions(+), 215 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs old mode 100644 new mode 100755 index 98eba8b..071fe66 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/TemporaryPassword.cs @@ -6,7 +6,7 @@ namespace Shared.Phone.UserCenter.DoorLock { - public class TemporaryPassword : DoorLockCommonLayout, ZigBee.Common.IStatus + public class TemporaryPassword : DoorLockCommonLayout { /// <summary> /// 鏋勯�犲嚱鏁� @@ -16,26 +16,49 @@ { this.doorLock = doorLock; BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; - ZigBee.Device.ZbGateway.StatusList.Add(this); - ReadTempPasswordData(); } - #region 鈼� 鍙橀噺鐢虫槑__________________________ + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠闂ㄩ攣 + /// </summary> ZigBee.Device.DoorLock doorLock; - public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { };//涓存椂瀵嗙爜涓殑6浣嶆暟瀛� - Button passwordText; //涓存椂瀵嗙爜 + /// <summary> + /// 涓存椂瀵嗙爜涓殑6浣嶆暟瀛� + /// </summary> + public System.Collections.Generic.List<Button> pawButtonList = new System.Collections.Generic.List<Button> { }; + /// <summary> + /// 涓存椂瀵嗙爜 + /// </summary> + Button passwordText; + /// <summary> + /// 涓儴甯冪殑椤堕儴甯冨眬 + /// </summary> FrameLayout MidTopFrameLayout; - Action<string, string> action;//鎺ユ敹閫氱煡 + /// <summary> + /// 鎺ユ敹閫氱煡 + /// </summary> + Action<string, string> action; + /// <summary> + /// 淇濆瓨瀹屾垚鎸夐挳 + /// </summary> Button btnFinifh; + /// <summary> + /// 褰撳墠鏈夋晥鏃ユ湡鏃堕棿 + /// </summary> DateTime cunVDateTime; + /// <summary> + /// 褰撳墠澶辨晥鏃ユ湡鏃堕棿 + /// </summary> DateTime cunIVDateTime; #endregion - /// <summary> - /// UI鏄剧ず + /// <summary> + /// UI鏄剧ず /// </summary> public void Show() { + ReadTempPasswordData(); this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.TemporaryPassword)); EventHandler<MouseEventArgs> eHandlerBack = (sender, e) => @@ -52,7 +75,7 @@ #region btnDelFrameLayout var btnDelFrameLayout = new FrameLayout { - X = Application.GetRealWidth(953), + X = Application.GetRealWidth(953 - 116), Height = Application.GetRealHeight(69), Width = Application.GetRealWidth(1080 - 953), }; @@ -68,56 +91,7 @@ EventHandler<MouseEventArgs> eHandler = (sender, e) => { - var dialog = new Dialog { }; - dialog.Show(); - - var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; - dialog.AddChidren(flMain); - flMain.MouseUpEventHandler += (sender11, e11) => - { - dialog.Close(); - }; - - var delBackgroundFrameLayout = new FrameLayout - { - X = Application.GetRealWidth(596), - Y = Application.GetRealHeight(164), - Height = Application.GetRealHeight(173), - Width = Application.GetRealWidth(449), - BackgroundImagePath = "DoorLock/DelBackground.png", - }; - flMain.AddChidren(delBackgroundFrameLayout); - - var btnDelIcon2 = new Button - { - Height = Application.GetRealHeight(81), - Width = Application.GetRealWidth(81), - X = Application.GetRealWidth(81), - Y = Application.GetRealHeight(55), - UnSelectedImagePath = "DoorLock/DelIcon.png", - }; - delBackgroundFrameLayout.AddChidren(btnDelIcon2); - - var btnDelText = new Button - { - Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(311), - X = Application.GetRealWidth(173), - Y = Application.GetRealHeight(69), - TextAlignment = TextAlignment.CenterLeft, - Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword), - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, - TextSize = 12, - }; - delBackgroundFrameLayout.AddChidren(btnDelText); - - EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) => - { - ClearEventHandler(btnDelText, dialog); - }; - delBackgroundFrameLayout.MouseDownEventHandler += eHandler2; - btnDelIcon2.MouseDownEventHandler += eHandler2; - btnDelText.MouseDownEventHandler += eHandler2; + ClearDialog(); }; btnDelFrameLayout.MouseDownEventHandler += eHandler; btnDelIcon.MouseDownEventHandler += eHandler; @@ -134,6 +108,9 @@ MidFrameLayoutContent(); } + /// <summary> + /// 涓儴甯冨眬 + /// </summary> public void MidFrameLayoutContent() { MidTopFrameLayout.RemoveAll(); @@ -159,7 +136,7 @@ Y = Application.GetRealHeight(48), TextAlignment = TextAlignment.Center, Text = Language.StringByID(R.MyInternationalizationString.ClickGenerate), - TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 12, Visible = true, Enable = true, @@ -168,11 +145,9 @@ var randomPassword = new EditText() { - X = Application.GetRealWidth(233), Y = Application.GetRealHeight(153), Height = Application.GetRealHeight(84), - Width = Application.GetRealWidth(251), - TextAlignment = TextAlignment.CenterRight, + TextAlignment = TextAlignment.Center, TextSize = 24, SecureTextEntry = false, Enable = false, @@ -193,47 +168,48 @@ var validTime = new Button() { Height = Application.GetRealHeight(55), - Width = Application.GetRealWidth(115), - X = Application.GetRealWidth(92), + Width = Application.GetRealWidth(92 + 115), Y = Application.GetRealHeight(386), TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, - TextAlignment = TextAlignment.CenterLeft, - TextSize = 14, + TextAlignment = TextAlignment.CenterRight, + TextSize = 16, + Text = "--:--", }; MidTopFrameLayout.AddChidren(validTime); var validTimeDate = new Button() { Height = Application.GetRealHeight(49), - Width = Application.GetRealWidth(135), - X = Application.GetRealWidth(84), + Width = Application.GetRealWidth(84 + 135), Y = Application.GetRealHeight(441), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, - TextSize = 10, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextSize = 12, + TextAlignment = TextAlignment.CenterRight, }; MidTopFrameLayout.AddChidren(validTimeDate); var inValidTime = new Button() { Height = Application.GetRealHeight(55), - Width = Application.GetRealWidth(118), + Width = Application.GetRealWidth(717 - 507), X = Application.GetRealWidth(507), Y = Application.GetRealHeight(389), TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, TextAlignment = TextAlignment.CenterLeft, - TextSize = 14, + TextSize = 16, + Text = "--:--", }; MidTopFrameLayout.AddChidren(inValidTime); var inValidTimeDate = new Button() { Height = Application.GetRealHeight(49), - Width = Application.GetRealWidth(135), + Width = Application.GetRealWidth(717 - 508), X = Application.GetRealWidth(508), Y = Application.GetRealHeight(444), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, + TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextAlignment = TextAlignment.CenterLeft, - TextSize = 10, + TextSize = 12, }; MidTopFrameLayout.AddChidren(inValidTimeDate); @@ -259,7 +235,6 @@ { randomPassword.Text = "- - - - - -"; temPasswordVisiable.Visible = false; - randomPassword.X = Application.GetRealWidth(215); randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; topPic.Visible = true; @@ -269,8 +244,6 @@ { randomPassword.Text = doorLock.LocalTempPassword; temPasswordVisiable.Visible = true; - // topPic.Visible = false; - // topPic.Enable = false; if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable) { randomPassword.SecureTextEntry = false; @@ -315,7 +288,9 @@ }; #endregion } - //搴曢儴鐣岄潰鍜屾暟鎹鐞� + /// <summary> + /// 搴曢儴甯冨眬澶勭悊 + /// </summary> public void BottomFrameLayoutContent() { var bottomFrameLayout = new FrameLayout() @@ -325,6 +300,7 @@ BackgroundColor = ZigbeeColor.Current.XMWhite, }; this.midFrameLayout.AddChidren(bottomFrameLayout); + bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); var informationEdit = new Button() { @@ -377,7 +353,7 @@ { Width = Application.GetRealWidth(58), Height = Application.GetRealHeight(58), - UnSelectedImagePath = "Item/Next.png", + UnSelectedImagePath = "Item/RightNext.png", SelectedImagePath = "Item/Down.png", }; btnNextFrameLayout.AddChidren(btnNext); @@ -385,7 +361,7 @@ var btnLine = new FrameLayout() { Width = Application.GetRealWidth(965), - Height = Application.GetRealHeight(5), + Height = 1, X = Application.GetRealWidth(58), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, }; @@ -412,6 +388,17 @@ { if (curIndex == 0) { + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) + { + //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); + ShowMassage(ShowMsgType.Tip, mess); + + }); + return; + } var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "ValidTime"); Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; @@ -423,6 +410,16 @@ } if (curIndex == 1) { + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) + { + //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "InValidTime"); Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; @@ -474,6 +471,7 @@ BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold = true, Enable = false, }; bottomFrameLayout.AddChidren(btnFinifh); @@ -484,7 +482,10 @@ }; } - //纭畾浜嬩欢澶勭悊 + /// <summary> + /// 纭畾浜嬩欢澶勭悊 + /// </summary> + /// <param name="btnFinifh"></param> void FinifhEventHandler(Button btnFinifh) { System.Threading.Tasks.Task.Run(async () => @@ -492,53 +493,34 @@ Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); try { - if (doorLock.LocalTempPassword == "") + if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) { //璇�"鐐瑰嚮鐢熸垚"涓存椂瀵嗙爜锛� Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip1); + this.ShowMassage(ShowMsgType.Tip, mess); }); return; } - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) - //{ - // //璇疯缃敓鏁堟椂闂达紱 - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip2), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) - //{ - // //璇疯缃敓鏁堟棩鏈燂紱 - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip3), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) - //{ - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip4), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} - //if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) - //{ - // Application.RunOnMainThread(() => - // { - // new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip5), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); - // }); - // return; - //} var dNow = DateTime.Now; - var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute, dNow.Second); + var validDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute - 1, dNow.Second); var inValidDateTime = new DateTime(dNow.Year, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour, Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute, dNow.Second); + if (DateTime.Compare(inValidDateTime, validDateTime) < 0) + { + //鏃犳晥鐨勬椂闂磋缃� + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + + var startTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(validDateTime); + var endTimeStr = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetUnixTimeStamp(inValidDateTime); + action = (topic, data) => { var gatewayID = topic.Split('/')[0]; @@ -580,41 +562,70 @@ } //璁剧疆涓存椂瀵嗙爜鍒伴棬閿� var addOrModifyResult = await doorLock.TempPasswordAsync(doorLock.LocalTempPassword, validDateTime, inValidDateTime); - if (addOrModifyResult != null && addOrModifyResult.responseData != null && addOrModifyResult.responseData.status == 0) + if (addOrModifyResult != null && addOrModifyResult.responseData != null) { - System.Threading.Thread.Sleep(1000); - if (doorLock.tempPasswordObject != null) + if (addOrModifyResult.responseData.status == 0) { - var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); - addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword; - if (doorLock.DeviceAddr != null) + System.Threading.Thread.Sleep(1000); + if (doorLock.tempPasswordObject != null) { - addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + addDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + //瀵瑰瘑鐮佽繘琛屽姞瀵嗗鐞� + string hdlKey = "hD1(La3o"; + var enPsw = UserCenterLogic.EncryptPassword(hdlKey, doorLock.tempPasswordObject.TempPassword); + addDoorLockTempPasswordData.TempPwd = enPsw; + if (doorLock.DeviceAddr != null) + { + addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime; + addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime; + addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString(); + //瀛樺埌浜� + var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData); + if (result1 == null) + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + if (result1.StateCode != "Success") + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + return; + } + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; + doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; + TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); } - addDoorLockTempPasswordData.ValidBeginTime = doorLock.tempPasswordObject.ValidTime; - addDoorLockTempPasswordData.ValidEndTime = doorLock.tempPasswordObject.InValidTime; - addDoorLockTempPasswordData.TempPwdId = doorLock.tempPasswordObject.UserId.ToString(); - //瀛樺埌浜� - var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/AddDoorLockPwd", addDoorLockTempPasswordData); - if (result1 != null && result1.StateCode != "Success") + else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm); + this.ShowMassage(ShowMsgType.Tip, mess); }); return; } - //btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect;//XMUnSelect XMBlack - //btnFinifh.Enable = false; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = false; - doorLock.LocalTempPassword = doorLock.tempPasswordObject.TempPassword; - TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); } else { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + var mess = Language.StringByID(R.MyInternationalizationString.SetFailedXm); + this.ShowMassage(ShowMsgType.Tip, mess); }); return; } @@ -623,7 +634,8 @@ { Application.RunOnMainThread(() => { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); + var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); }); return; } @@ -643,8 +655,77 @@ }); } - //娓呴櫎浜嬩欢澶勭悊 - async void ClearEventHandler(Button btnDelText = null, Dialog dialog = null) + /// <summary> + /// 娓呴櫎UI + /// </summary> + void ClearDialog() + { + var dialog = new Dialog { }; + dialog.Show(); + + var flMain = new FrameLayout { BackgroundColor = 0x00000000 }; + dialog.AddChidren(flMain); + flMain.MouseUpEventHandler += (sender11, e11) => + { + dialog.Close(); + }; + + var delBackgroundFrameLayout = new FrameLayout + { + X = Application.GetRealWidth(596), + Y = Application.GetRealHeight(164), + Height = Application.GetRealHeight(173), + Width = Application.GetRealWidth(449), + BackgroundImagePath = "DoorLock/DelBackground.png", + }; + flMain.AddChidren(delBackgroundFrameLayout); + + var btnDelIcon2 = new Button + { + Height = Application.GetRealHeight(81), + Width = Application.GetRealWidth(81), + X = Application.GetRealWidth(81), + Y = Application.GetRealHeight(55), + UnSelectedImagePath = "DoorLock/DelIcon.png", + }; + delBackgroundFrameLayout.AddChidren(btnDelIcon2); + + var btnDelText = new Button + { + Height = Application.GetRealHeight(58), + Width = Application.GetRealWidth(311), + X = Application.GetRealWidth(173), + Y = Application.GetRealHeight(69), + TextAlignment = TextAlignment.CenterLeft, + Text = Language.StringByID(R.MyInternationalizationString.ClearTempPassword), + TextColor = Shared.Common.ZigbeeColor.Current.XMTopTitleText, + TextSize = 14, + IsBold = true, + }; + delBackgroundFrameLayout.AddChidren(btnDelText); + + EventHandler<MouseEventArgs> eHandler2 = (sender2, e2) => + { + dialog.Close(); + string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword); + var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm)); + alert.Show(); + //浣跨敤纭鍨嬪脊妗嗘椂,鐨勫洖璋冨嚱鏁� + alert.ConfirmClickEvent += () => + { + ClearEventHandler(btnDelText); + }; + }; + delBackgroundFrameLayout.MouseDownEventHandler += eHandler2; + btnDelIcon2.MouseDownEventHandler += eHandler2; + btnDelText.MouseDownEventHandler += eHandler2; + } + + /// <summary> + /// 娓呴櫎浜嬩欢澶勭悊 + /// </summary> + /// <param name="btnDelText"></param> + async void ClearEventHandler(Button btnDelText = null) { if (btnDelText == null) { @@ -657,31 +738,62 @@ { var passData = doorLock.SetUserAccessData(doorLock.tempPasswordObject.UserId, ZigBee.Device.DoorLock.AccessType.DelCurrentUser); var resultData = await doorLock.DefaultControlAsync(passData); - if (resultData != null && resultData.defaultControlResponseData != null && resultData.defaultControlResponseData.status == 0) + if (resultData != null && resultData.defaultControlResponseData != null) { - var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); - if (doorLock.DeviceAddr != null) + if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) { - delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - } - var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); - if (result1 != null && result1 != null && result1.StateCode == "Success") - { - doorLock.tempPasswordObject = null; - doorLock.LocalTempPassword = ""; - TimeDateData(DateTime.Now, DateTime.Now, true); - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + delDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } + if (doorLock.DeviceAddr != null) + { + delDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + } + var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData); + if (result1 != null) + { + if (result1.StateCode == "Success") + { + doorLock.tempPasswordObject = null; + doorLock.LocalTempPassword = ""; + TimeDateData(DateTime.Now, DateTime.Now, true); + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + } + else + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + } + } + else + { + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); + }); + } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); + Application.RunOnMainThread(() => + { + var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); + this.ShowMassage(ShowMsgType.Tip, mess); + }); } } else { - new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText); - + var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); } } } @@ -690,17 +802,16 @@ { Application.RunOnMainThread(() => { - if (dialog != null) - { - dialog.Close(); - } + MidFrameLayoutContent(); CommonPage.Loading.Hide(); }); } } - //璇诲彇浜戠瀛樺偍鏁版嵁 + /// <summary> + /// 璇诲彇浜戠瀛樺偍鏁版嵁 + /// </summary> void ReadTempPasswordData() { System.Threading.Tasks.Task.Run(async () => @@ -709,23 +820,47 @@ try { var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData(); + if (UserCenterResourse.UserInfo.AuthorityNo != 1) + { + getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + getDoorLockTempPasswordData.IsOtherAccountCtrl = true; + } if (doorLock.DeviceAddr != null) { getDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; } var result = await ZigBee.Device.DoorLock.GetDoorLockTempPasswordFromServer("DoorLock/GetDoorLockPwdPagger", getDoorLockTempPasswordData); - if (result != null && result.PageData != null) + if (result != null) { - foreach (var curDoorLockTempPaw in result.PageData) + if (result.PageData.Count != 0) { - var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject(); - tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId); - tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime; - tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime; - doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd; - doorLock.tempPasswordObject = tpObj; - TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); + foreach (var curDoorLockTempPaw in result.PageData) + { + var tpObj = new ZigBee.Device.DoorLock.TempPasswordObject(); + tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId); + tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime; + tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime; + //瑙e瘑瀵嗙爜 + string hdlKey = "hD1(La3o"; + var desPsw = UserCenterLogic.DecryptPassword(hdlKey, curDoorLockTempPaw.TempPwd); + doorLock.LocalTempPassword = tpObj.TempPassword = desPsw; + doorLock.tempPasswordObject = tpObj; + TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime); + } } + else + { + doorLock.tempPasswordObject = null; + doorLock.LocalTempPassword = ""; + TimeDateData(DateTime.Now, DateTime.Now, true); + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = false; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify = true; + } + } + else + { + var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); + this.ShowMassage(ShowMsgType.Tip, mess); } } catch { } @@ -740,7 +875,12 @@ }); } - //鏈湴鏃堕棿鏁版嵁澶勭悊 + /// <summary> + /// 鏈湴鏃堕棿鏁版嵁澶勭悊 + /// </summary> + /// <param name="validTimeDateTime"></param> + /// <param name="inValidTime"></param> + /// <param name="isClearLocalTime"></param> void TimeDateData(DateTime validTimeDateTime, DateTime inValidTime, bool isClearLocalTime = false) { if (doorLock.tempPasswordObject != null) @@ -775,7 +915,14 @@ } } - //鏃堕棿鏄剧ず鏁版嵁澶勭悊 + /// <summary> + /// 鏃堕棿鏄剧ず鏁版嵁澶勭悊 + /// </summary> + /// <param name="validTime"></param> + /// <param name="validTimeDate"></param> + /// <param name="inValidTime"></param> + /// <param name="inValidTimeDate"></param> + /// <param name="isDefaultTime"></param> void TimeDisplay(Button validTime, Button validTimeDate, Button inValidTime, Button inValidTimeDate, bool isDefaultTime) { string hour = ""; @@ -789,12 +936,15 @@ Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = cur.Minute; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = cur.Second; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = cur.Second; + + var InValidTime = cur.AddDays(1); Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = cur.Year; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = cur.Year; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = InValidTime.Year; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = cur.Month; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = InValidTime.Month; Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day; - Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1; + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = InValidTime.Day; + //doorLock.ReSave(); } if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) { @@ -815,7 +965,7 @@ //鏈夋晥鏃堕棿 if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) { - validTime.Text = "00:00"; + validTime.Text = "--:--"; } else { @@ -841,48 +991,30 @@ if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour == 100) { - inValidTime.Text = "00:00"; + inValidTime.Text = "--:--"; } else { inValidTime.Text = hour + ":" + minute; } - validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); - inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); - } - #region 鈼� 鎺ュ彛瀹炵幇__________________________ - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 --灏嗗純鐢� 鏀圭敤DeviceInfoChange() - /// </summary> - /// <returns>The changed.</returns> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth == 0) + { + validTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day); + } + else + { + validTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); + } + if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth == 0) + { + inValidTimeDate.Text = "-" + Language.StringByID(R.MyInternationalizationString.Month) + "-" + Language.StringByID(R.MyInternationalizationString.Day); + } + else + { + inValidTimeDate.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth + Language.StringByID(R.MyInternationalizationString.Month) + Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay + Language.StringByID(R.MyInternationalizationString.Day); + } } - /// <summary> - /// 澶勭悊鍙樺寲浜嬩欢 - /// </summary> - /// <param name="common"></param> - /// <param name="typeTag"></param> - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - /// <summary> - /// Changeds the IL ogic status. - /// </summary> - /// <param name="logic">Logic.</param> - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - /// <summary> - /// Changeds the IS cene status. - /// </summary> - /// <param name="scene">Scene.</param> - public void ChangedISceneStatus(Scene scene) - { - } - #endregion } } -- Gitblit v1.8.0