陈嘉乐
2020-07-10 48ba446936b51fffafa7c3600c0dadc6ac0e8c20
ZigbeeApp/Shared/Phone/UserCenter/Password/EditorSecondaryPasswordForm.cs
@@ -32,7 +32,7 @@
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPasswordAuthentication));
            if (string.IsNullOrEmpty(UserCenterResourse.Option.PswAuthentication) == false)
            if (string.IsNullOrEmpty(UserCenterResourse.AccountOption.PswAuthentication) == false)
            {
                formMode = FormMode.A验证前回密码;
            }
@@ -102,7 +102,7 @@
                    form.AddForm();
                };
                //底线
                int lineWidth = btnForgotPsw.GetRealWidthByText(12);
                int lineWidth = btnForgotPsw.GetRealWidthByText();
                var btnLine = new NormalViewControl(lineWidth, ControlCommonResourse.BottomLineHeight, false);
                btnLine.BackgroundColor = UserCenterColor.Current.TextOrangeColor;
                btnLine.Gravity = Gravity.CenterHorizontal;
@@ -137,17 +137,15 @@
                    pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual2));
                    return;
                }
                UserCenterResourse.Option.PswAuthentication = i_Psw;
                UserCenterResourse.Option.Save();
                //关闭界面
                this.CloseForm();
                //保存密码
                this.SaveSecondaryPassword(pswControl, i_Psw);
            }
            else if (formMode == FormMode.A验证前回密码)
            {
                if (UserCenterResourse.Option.PswAuthentication != i_Psw)
                if (UserCenterResourse.AccountOption.PswAuthentication != i_Psw)
                {
                    UserCenterResourse.Option.PasswordInputCount--;
                    if (UserCenterResourse.Option.PasswordInputCount <= 0)
                    UserCenterResourse.AccountOption.PasswordInputCount--;
                    if (UserCenterResourse.AccountOption.PasswordInputCount <= 0)
                    {
                        //管理员身份验证失败,请重新登录
                        string msg2 = Language.StringByID(R.MyInternationalizationString.uCheckAdministratorFailAndReload);
@@ -160,13 +158,19 @@
                    return;
                }
                //重置剩余密码次数
                UserCenterResourse.Option.ResetPasswordCount();
                UserCenterResourse.AccountOption.ResetPasswordCount();
                formMode = FormMode.A修改密码;
                this.InitMiddleFrame();
            }
            else if (formMode == FormMode.A修改密码)
            {
                if (i_Psw == UserCenterResourse.AccountOption.PswAuthentication)
                {
                    //新密码和原密码一致,请重新输入
                    pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.uNewPswAndOldPswIsEqual));
                    return;
                }
                //输入二次密码
                this.firstPssword = i_Psw;
                formMode = FormMode.A确认修改密码;
@@ -180,10 +184,8 @@
                    pswControl.SetErrorMsg(Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual2));
                    return;
                }
                UserCenterResourse.Option.PswAuthentication = i_Psw;
                UserCenterResourse.Option.Save();
                //关闭界面
                this.CloseForm();
                //保存密码
                this.SaveSecondaryPassword(pswControl, i_Psw);
            }
        }
@@ -202,6 +204,49 @@
        #endregion
        #region ■ 保存密码___________________________
        /// <summary>
        /// 保存密码
        /// </summary>
        /// <param name="contr">控件</param>
        /// <param name="psw">密码</param>
        private void SaveSecondaryPassword(PswNumberInputControl contr, string psw)
        {
            HdlThreadLogic.Current.RunThread(async () =>
            {
                //打开进度条
                this.ShowProgressBar();
                var pra = new
                {
                    RequestVersion = Common.CommonPage.RequestVersion,
                    LoginAccessToken = Common.Config.Instance.Token,
                    GesturePwd = UserCenterResourse.AccountOption.GestureAuthentication,
                    StringPwd = psw
                };
                var result = await UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/UpdatEexpandPwd", false, pra);
                //关闭进度条
                this.CloseProgressBar();
                HdlThreadLogic.Current.RunMain(() =>
                {
                    if (result == false)
                    {
                        contr.SetErrorMsg(string.Empty);
                    }
                    else
                    {
                        UserCenterResourse.AccountOption.PswAuthentication = psw;
                        UserCenterResourse.AccountOption.Save();
                        //界面关闭
                        this.CloseForm();
                    }
                });
            });
        }
        #endregion
        #region ■ 结构体_____________________________
        /// <summary>