using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; namespace Shared.Phone.UserCenter.Safety { /// /// 重置管理员密码界面 /// public class ResetAdminPasswordForm : UserCenterCommonForm { #region ■ 变量声明___________________________ #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uResetAdministratorPsw)); //初始化中部信息 this.InitMiddleFrame(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { bodyFrameLayout.RemoveAll(); //新密码 var placeholderText = Language.StringByID(R.MyInternationalizationString.uNewPassword); var rowPsw1 = new RowPasswordControl(); bodyFrameLayout.AddChidren(rowPsw1); rowPsw1.Init(placeholderText); //确认新密码 placeholderText = Language.StringByID(R.MyInternationalizationString.uConfirmNewPassword); var rowPsw2 = new RowPasswordControl(); rowPsw2.Y = rowPsw1.Bottom; bodyFrameLayout.AddChidren(rowPsw2); rowPsw2.Init(placeholderText); //提示信息 var txtMsg = new ViewNormalControl(800, true); txtMsg.X = ControlCommonResourse.XXLeft; txtMsg.Y = rowPsw2.Bottom + Application.GetRealHeight(5); txtMsg.TextColor = UserCenterColor.Current.Red; bodyFrameLayout.AddChidren(txtMsg); //重置 var btnfinish = new BottomClickButton(); btnfinish.TextID = R.MyInternationalizationString.uResettion; bodyFrameLayout.AddChidren(btnfinish); btnfinish.MouseUpEvent += (sender, e) => { txtMsg.Text = string.Empty; //密码检查 var msg = this.CheckPassword(rowPsw1.Text, rowPsw2.Text); if (msg != string.Empty) { txtMsg.Text = msg; return; } //重置密码 this.DoResetPassword(rowPsw1.Text); }; } #endregion #region ■ 重置密码___________________________ /// /// 重置密码 /// /// private async void DoResetPassword(string psw) { //打开进度条 this.ShowProgressBar(); var result = await Common.LocalSafeguard.Current.DoResetAdministratorPsw(psw); //关闭进度条 this.CloseProgressBar(); if (result == true) { Application.RunOnMainThread(() => { //管理员密码重置成功 string msg = Language.StringByID(R.MyInternationalizationString.uResetAdministratorPswSuccess); var form = new PasswordRefreshMsgForm(); this.AddFromAndRemoveNowForm(form, msg); form.SetTitleText(Language.StringByID(R.MyInternationalizationString.uResetAdministratorPsw)); }); } } #endregion #region ■ 一般方法___________________________ /// /// 密码检查,返回错误信息,无错误信息(空字符串)则表示成功 /// /// /// /// private string CheckPassword(string pswValue1, string pswValue2) { if (pswValue1 == string.Empty) { //请输入新密码 return Language.StringByID(R.MyInternationalizationString.uPleaseInputNewPassword); } if (pswValue2 == string.Empty) { //请输入确认密码 return Language.StringByID(R.MyInternationalizationString.PleaseInputConfirmPsw); } if (pswValue1.Length < UserCenterResourse.PasswordLength) { //密码长度不低于{0}位数 return string.Format(Language.StringByID(R.MyInternationalizationString.PswLengthMsg), UserCenterResourse.PasswordLength); } if (pswValue1 != pswValue2) { //两次输入的密码不一致 return Language.StringByID(R.MyInternationalizationString.SecondPswNotEqual); } return string.Empty; } #endregion } }