| | |
| | | |
| | | namespace Shared.Phone.UserCenter.DoorLock |
| | | { |
| | | public class TemporaryPassword : DoorLockCommonLayout, ZigBee.Common.IStatus |
| | | public class TemporaryPassword : DoorLockCommonLayout |
| | | { |
| | | /// <summary> |
| | | /// 构造函数 |
| | |
| | | { |
| | | this.doorLock = doorLock; |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor; |
| | | ZigBee.Device.ZbGateway.StatusList.Add(this); |
| | | } |
| | | |
| | | #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 |
| | | |
| | |
| | | |
| | | 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) => |
| | | { |
| | | var dialog1 = new Dialog { }; |
| | | var doorDialog = new Shared.Phone.UserCenter.DoorLock.DoorlockDialog(dialog1, Language.StringByID(R.MyInternationalizationString.Tip)); |
| | | doorDialog.Show(); |
| | | doorDialog.dialogMidFraFrameLayout.Width = Application.GetRealWidth(415); |
| | | doorDialog.dialogMidFraFrameLayout.Height = Application.GetRealHeight(58); |
| | | doorDialog.dialogMidFraFrameLayout.X = Application.GetRealWidth(190); |
| | | doorDialog.dialogMidFraFrameLayout.Y = Application.GetRealHeight(202); |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogMidText.Text = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword); |
| | | doorDialog.dialogMidText.TextSize = 14; |
| | | doorDialog.dialogMidFraFrameLayout.AddChidren(doorDialog.dialogMidText); |
| | | doorDialog.dialogBtnConfirm.Text = Language.StringByID(R.MyInternationalizationString.Confrim); |
| | | doorDialog.dialogBtnCancel.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | }; |
| | | doorDialog.dialogBtnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | dialog.Close(); |
| | | dialog1.Close(); |
| | | ClearEventHandler(btnDelText, dialog1); |
| | | }; |
| | | }; |
| | | delBackgroundFrameLayout.MouseDownEventHandler += eHandler2; |
| | | btnDelIcon2.MouseDownEventHandler += eHandler2; |
| | | btnDelText.MouseDownEventHandler += eHandler2; |
| | | ClearDialog(); |
| | | }; |
| | | btnDelFrameLayout.MouseDownEventHandler += eHandler; |
| | | btnDelIcon.MouseDownEventHandler += eHandler; |
| | | #endregion |
| | | #endregion |
| | | MidTopFrameLayout = new FrameLayout() |
| | | { |
| | | X = Application.GetRealWidth(181), |
| | | Y = Application.GetRealHeight(92), |
| | | X = Application.GetMinRealAverage(181), |
| | | Y = Application.GetMinRealAverage(92), |
| | | Width = Application.GetRealWidth(717), |
| | | Height = Application.GetRealHeight(570), |
| | | BackgroundImagePath = "DoorLock/TempPasswordBackground.png", |
| | |
| | | MidFrameLayoutContent(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 中部布局 |
| | | /// </summary> |
| | | public void MidFrameLayoutContent() |
| | | { |
| | | MidTopFrameLayout.RemoveAll(); |
| | |
| | | { |
| | | Height = Application.GetRealHeight(43), |
| | | Width = Application.GetRealWidth(259), |
| | | X = Application.GetRealWidth(230), |
| | | X = Application.GetRealWidth(227), |
| | | Y = Application.GetRealHeight(418), |
| | | UnSelectedImagePath = "DoorLock/TempPasswordBackground1.png", |
| | | }; |
| | |
| | | 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, |
| | |
| | | var validTime = new Button() |
| | | { |
| | | Height = Application.GetRealHeight(55), |
| | | Width = Application.GetRealWidth(92 + 115), |
| | | Width = Application.GetRealWidth(207), |
| | | Y = Application.GetRealHeight(386), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextSize = 16, |
| | | Text = "--:--", |
| | | }; |
| | | MidTopFrameLayout.AddChidren(validTime); |
| | | |
| | | var validTimeDate = new Button() |
| | | { |
| | | Height = Application.GetRealHeight(49), |
| | | Width = Application.GetRealWidth(84 + 135), |
| | | Width = Application.GetRealWidth(208), |
| | | Y = Application.GetRealHeight(441), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextSize = 12, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | }; |
| | | MidTopFrameLayout.AddChidren(validTimeDate); |
| | | |
| | |
| | | Height = Application.GetRealHeight(55), |
| | | Width = Application.GetRealWidth(717 - 507), |
| | | X = Application.GetRealWidth(507), |
| | | Y = Application.GetRealHeight(389), |
| | | Y = Application.GetRealHeight(386), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 16, |
| | | Text = "--:--", |
| | | }; |
| | | MidTopFrameLayout.AddChidren(inValidTime); |
| | | |
| | |
| | | Height = Application.GetRealHeight(49), |
| | | Width = Application.GetRealWidth(717 - 508), |
| | | X = Application.GetRealWidth(508), |
| | | Y = Application.GetRealHeight(444), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray2, |
| | | Y = Application.GetRealHeight(441), |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = 12, |
| | | TextSize = 12, |
| | | }; |
| | | MidTopFrameLayout.AddChidren(inValidTimeDate); |
| | | |
| | |
| | | |
| | | #region 数据处理 |
| | | TimeDisplay(validTime, validTimeDate, inValidTime, inValidTimeDate, false); |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) |
| | | { |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnFinifh.Enable = true; |
| | | topPic.Visible = true; |
| | | topPic.Enable = true; |
| | | } |
| | | else |
| | | { |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; |
| | | btnFinifh.Enable = false; |
| | | topPic.Visible = false; |
| | | topPic.Enable = false; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(doorLock.LocalTempPassword)) |
| | | { |
| | | randomPassword.Text = "- - - - - -"; |
| | |
| | | } |
| | | } |
| | | |
| | | temPasswordVisiable.MouseUpEventHandler += (sender, e) => |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.IsModify) |
| | | { |
| | | temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected; |
| | | if (!temPasswordVisiable.IsSelected) |
| | | { |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; |
| | | randomPassword.SecureTextEntry = true; |
| | | } |
| | | else |
| | | { |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; |
| | | randomPassword.SecureTextEntry = false; |
| | | } |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = !randomPassword.SecureTextEntry; |
| | | }; |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; |
| | | btnFinifh.Enable = true; |
| | | topPic.Visible = true; |
| | | topPic.Enable = true; |
| | | } |
| | | else |
| | | { |
| | | btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; |
| | | btnFinifh.Enable = false; |
| | | topPic.Visible = false; |
| | | topPic.Enable = false; |
| | | } |
| | | |
| | | temPasswordVisiable.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | temPasswordVisiable.IsSelected = !temPasswordVisiable.IsSelected; |
| | | if (!temPasswordVisiable.IsSelected) |
| | | { |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMGray4; |
| | | randomPassword.SecureTextEntry = true; |
| | | } |
| | | else |
| | | { |
| | | randomPassword.TextColor = Shared.Common.ZigbeeColor.Current.XMOrange; |
| | | randomPassword.SecureTextEntry = false; |
| | | } |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InTempPasswordVisiable = !randomPassword.SecureTextEntry; |
| | | }; |
| | | topPic.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | randomPassword.Text = Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetTempPassword(); |
| | |
| | | }; |
| | | #endregion |
| | | } |
| | | //底部界面和数据处理 |
| | | /// <summary> |
| | | /// 底部布局处理 |
| | | /// </summary> |
| | | public void BottomFrameLayoutContent() |
| | | { |
| | | var bottomFrameLayout = new FrameLayout() |
| | |
| | | BackgroundColor = ZigbeeColor.Current.XMWhite, |
| | | }; |
| | | this.midFrameLayout.AddChidren(bottomFrameLayout); |
| | | bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | |
| | | var informationEdit = new Button() |
| | | { |
| | |
| | | { |
| | | Width = Application.GetRealWidth(58), |
| | | Height = Application.GetRealHeight(58), |
| | | UnSelectedImagePath = "Item/Next.png", |
| | | UnSelectedImagePath = "Item/RightNext.png", |
| | | SelectedImagePath = "Item/Down.png", |
| | | }; |
| | | btnNextFrameLayout.AddChidren(btnNext); |
| | |
| | | var btnLine = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(965), |
| | | Height = Application.GetRealHeight(5), |
| | | Height = 1, |
| | | X = Application.GetRealWidth(58), |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine, |
| | | }; |
| | |
| | | { |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect, |
| | | TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, |
| | | TextSize = 16, |
| | | IsBold = true, |
| | | Enable = false, |
| | | }; |
| | | bottomFrameLayout.AddChidren(btnFinifh); |
| | |
| | | }; |
| | | } |
| | | |
| | | //确定事件处理 |
| | | /// <summary> |
| | | /// 确定事件处理 |
| | | /// </summary> |
| | | /// <param name="btnFinifh"></param> |
| | | void FinifhEventHandler(Button btnFinifh) |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | |
| | | //请"点击生成"临时密码; |
| | | 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; |
| | | } |
| | |
| | | //无效的时间设置 |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.SetTempPasswordTip); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | return; |
| | | } |
| | |
| | | addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); |
| | | addDoorLockTempPasswordData.IsOtherAccountCtrl = true; |
| | | } |
| | | addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword; |
| | | //对密码进行加密处理 |
| | | 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; |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | return; |
| | | } |
| | |
| | | { |
| | | 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.SetFailedXm1); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | return; |
| | | } |
| | |
| | | { |
| | | 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; |
| | | } |
| | |
| | | { |
| | | 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; |
| | | } |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinifh); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | return; |
| | | } |
| | |
| | | }); |
| | | } |
| | | |
| | | //清除事件处理 |
| | | 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) |
| | | { |
| | |
| | | var resultData = await doorLock.DefaultControlAsync(passData); |
| | | if (resultData != null && resultData.defaultControlResponseData != null) |
| | | { |
| | | if (resultData.defaultControlResponseData.status == 0) |
| | | if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2) |
| | | { |
| | | var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData(); |
| | | if (UserCenterResourse.UserInfo.AuthorityNo != 1) |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1) + ".", Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | } |
| | | } |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | } |
| | | } |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnFinish); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.ClearFailedXm1); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | }); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDelText); |
| | | |
| | | var mess = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (dialog != null) |
| | | { |
| | | dialog.Close(); |
| | | } |
| | | |
| | | MidFrameLayoutContent(); |
| | | CommonPage.Loading.Hide(); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //读取云端存储数据 |
| | | /// <summary> |
| | | /// 读取云端存储数据 |
| | | /// </summary> |
| | | void ReadTempPasswordData() |
| | | { |
| | | System.Threading.Tasks.Task.Run(async () => |
| | |
| | | tpObj.UserId = int.Parse(curDoorLockTempPaw.TempPwdId); |
| | | tpObj.ValidTime = curDoorLockTempPaw.ValidBeginTime; |
| | | tpObj.InValidTime = curDoorLockTempPaw.ValidEndTime; |
| | | doorLock.LocalTempPassword = tpObj.TempPassword = curDoorLockTempPaw.TempPwd; |
| | | //解密密码 |
| | | 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 |
| | | { |
| | | new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); |
| | | var mess = Language.StringByID(R.MyInternationalizationString.CloudServerResponseOvertime); |
| | | this.ShowMassage(ShowMsgType.Tip, mess); |
| | | } |
| | | } |
| | | catch { } |
| | |
| | | }); |
| | | } |
| | | |
| | | //本地时间数据处理 |
| | | /// <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) |
| | |
| | | } |
| | | } |
| | | |
| | | //时间显示数据处理 |
| | | /// <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 = ""; |
| | |
| | | if (isDefaultTime) |
| | | { |
| | | var cur = DateTime.Now; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour = cur.Hour; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateHour = cur.Hour; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMinute = cur.Minute; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMinute = cur.Minute; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateSecond = cur.Second; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateSecond = cur.Second; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateYear = cur.Year; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateYear = cur.Year; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateMonth = cur.Month; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateMonth = cur.Month; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateDay = cur.Day; |
| | | Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.InValidDateDay = cur.Day + 1; |
| | | DoorLockCommonInfo.ValidDateHour = cur.Hour; |
| | | DoorLockCommonInfo.ValidDateMinute = cur.Minute; |
| | | DoorLockCommonInfo.ValidDateSecond = cur.Second; |
| | | DoorLockCommonInfo.InValidDateHour = cur.Hour; |
| | | DoorLockCommonInfo.InValidDateMinute = cur.Minute; |
| | | DoorLockCommonInfo.InValidDateSecond = cur.Second; |
| | | DoorLockCommonInfo.ValidDateYear = cur.Year; |
| | | DoorLockCommonInfo.ValidDateMonth = cur.Month; |
| | | DoorLockCommonInfo.ValidDateDay = cur.Day; |
| | | |
| | | var curD = DoorLockCommonInfo.LastDayOfMonth(cur); |
| | | if (DoorLockCommonInfo.ValidDateDay == curD.Day) |
| | | { |
| | | if (DoorLockCommonInfo.ValidDateMonth == 12) |
| | | { |
| | | DoorLockCommonInfo.InValidDateYear = cur.Year + 1; |
| | | DoorLockCommonInfo.InValidDateMonth = 1; |
| | | DoorLockCommonInfo.InValidDateDay = 1; |
| | | } |
| | | else |
| | | { |
| | | DoorLockCommonInfo.InValidDateYear = cur.Year; |
| | | DoorLockCommonInfo.InValidDateMonth = cur.Month + 1; |
| | | DoorLockCommonInfo.InValidDateDay = 1; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | DoorLockCommonInfo.InValidDateYear = cur.Year; |
| | | DoorLockCommonInfo.InValidDateMonth = cur.Month; |
| | | DoorLockCommonInfo.InValidDateDay = cur.Day + 1; |
| | | } |
| | | |
| | | //doorLock.ReSave(); |
| | | } |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour < 10) |
| | |
| | | //有效时间 |
| | | if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100) |
| | | { |
| | | validTime.Text = "00:00"; |
| | | validTime.Text = "--:--"; |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | 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 |
| | | } |
| | | } |