黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
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,7 +16,6 @@
        {
            this.doorLock = doorLock;
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #region  变量申明
@@ -174,6 +173,7 @@
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                TextAlignment = TextAlignment.CenterRight,
                TextSize = 16,
                Text = "--:--",
            };
            MidTopFrameLayout.AddChidren(validTime);
@@ -197,6 +197,7 @@
                TextColor = Shared.Common.ZigbeeColor.Current.XMGray2,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 16,
                Text = "--:--",
            };
            MidTopFrameLayout.AddChidren(inValidTime);
@@ -392,7 +393,9 @@
                                //请"点击生成"临时密码;
                                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);
                                    ShowMassage(ShowMsgType.Tip, mess);
                                });
                                return;
                            }
@@ -412,7 +415,8 @@
                                //请"点击生成"临时密码;
                                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;
                            }
@@ -494,7 +498,8 @@
                        //请"点击生成"临时密码;
                        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;
                    }
@@ -507,7 +512,8 @@
                        //无效的时间设置
                        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;
                    }
@@ -564,12 +570,16 @@
                            if (doorLock.tempPasswordObject != null)
                            {
                                var addDoorLockTempPasswordData = new ZigBee.Device.DoorLock.AddDoorLockTempPasswordData();
                                if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                                if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1)
                                {
                                    addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                    //☆マーク☆
                                    //addDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                    addDoorLockTempPasswordData.IsOtherAccountCtrl = true;
                                }
                                addDoorLockTempPasswordData.TempPwd = doorLock.tempPasswordObject.TempPassword;
                                //对密码进行加密处理
                                string hdlKey = "hD1(La3o";
                                var enPsw = HdlCommonLogic.Current.EncryptPassword(hdlKey, doorLock.tempPasswordObject.TempPassword);
                                addDoorLockTempPasswordData.TempPwd = enPsw;
                                if (doorLock.DeviceAddr != null)
                                {
                                    addDoorLockTempPasswordData.LocalDoorLockId = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint;
@@ -583,15 +593,17 @@
                                {
                                    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;
                                }
                                if (result1.StateCode != "Success")
                                if (result1.Code != HttpMessageEnum.A成功)
                                {
                                    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;
                                }
@@ -603,7 +615,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.SetFailedXm);
                                    this.ShowMassage(ShowMsgType.Tip, mess);
                                });
                                return;
                            }
@@ -612,7 +625,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.SetFailedXm);
                                this.ShowMassage(ShowMsgType.Tip, mess);
                            });
                            return;
                        }
@@ -621,7 +635,8 @@
                    {
                        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;
                    }
@@ -694,7 +709,7 @@
            {
                dialog.Close();
                string msg = Language.StringByID(R.MyInternationalizationString.SureToDeleteTempPassword);
                var alert = new Shared.Phone.UserCenter.ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                var alert = new ShowMsgControl(ShowMsgType.Confirm, msg, Language.StringByID(R.MyInternationalizationString.DoorlockConfirm));
                alert.Show();
                //使用确认型弹框时,的回调函数
                alert.ConfirmClickEvent += () =>
@@ -729,9 +744,10 @@
                        if (resultData.defaultControlResponseData.status == 0 || resultData.defaultControlResponseData.status == 2)
                        {
                            var delDoorLockTempPasswordData = new ZigBee.Device.DoorLock.DelDoorLockTempPasswordData();
                            if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                            if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1)
                            {
                                delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                //☆マーク☆
                                //delDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                                delDoorLockTempPasswordData.IsOtherAccountCtrl = true;
                            }
                            if (doorLock.DeviceAddr != null)
@@ -741,7 +757,7 @@
                            var result1 = await ZigBee.Device.DoorLock.SendDoorLockToServer("DoorLock/DelDoorLockPwd", delDoorLockTempPasswordData);
                            if (result1 != null)
                            {
                                if (result1.StateCode == "Success")
                                if (result1.Code == HttpMessageEnum.A成功)
                                {
                                    doorLock.tempPasswordObject = null;
                                    doorLock.LocalTempPassword = "";
@@ -753,7 +769,8 @@
                                {
                                    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);
                                    });
                                }
                            }
@@ -761,7 +778,8 @@
                            {
                                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);
                                });
                            }
                        }
@@ -769,14 +787,15 @@
                        {
                            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);
                    }
                }
            }
@@ -803,9 +822,10 @@
                try
                {
                    var getDoorLockTempPasswordData = new ZigBee.Device.DoorLock.GetDoorLockTempPasswordData();
                    if (UserCenterResourse.UserInfo.AuthorityNo != 1)
                    if (HdlUserCenterResourse.ResidenceOption.AuthorityNo != 1)
                    {
                        getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                        //☆マーク☆
                        //getDoorLockTempPasswordData.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
                        getDoorLockTempPasswordData.IsOtherAccountCtrl = true;
                    }
                    if (doorLock.DeviceAddr != null)
@@ -823,7 +843,10 @@
                                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 = HdlCommonLogic.Current.DecryptPassword(hdlKey, curDoorLockTempPaw.TempPwd);
                                doorLock.LocalTempPassword = tpObj.TempPassword = desPsw;
                                doorLock.tempPasswordObject = tpObj;
                                TimeDateData(doorLock.tempPasswordObject.ValidTime, doorLock.tempPasswordObject.InValidTime);
                            }
@@ -839,7 +862,8 @@
                    }
                    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 { }
@@ -909,18 +933,39 @@
            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)
@@ -942,7 +987,7 @@
            //有效时间
            if (Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.ValidDateHour == 100)
            {
                validTime.Text = "00:00";
                validTime.Text = "--:--";
            }
            else
            {
@@ -968,48 +1013,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
    }
}