New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | |
| | | namespace Shared.Phone.UserCenter.Password |
| | | { |
| | | /// <summary> |
| | | /// 重置账号密码的界面 |
| | | /// </summary> |
| | | public class ResetAccountPasswordForm : EditorCommonForm |
| | | { |
| | | #region ■ 变量声明___________________________ |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 初始化_____________________________ |
| | | |
| | | /// <summary> |
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建) |
| | | /// </summary> |
| | | public void ShowForm() |
| | | { |
| | | //设置头部信息 |
| | | base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uResetPassword)); |
| | | |
| | | //初始化中部信息 |
| | | this.InitMiddleFrame(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始化中部信息 |
| | | /// </summary> |
| | | private void InitMiddleFrame() |
| | | { |
| | | //清空bodyFrame |
| | | this.ClearBodyFrame(); |
| | | |
| | | var frameRow1 = new FrameLayout(); |
| | | frameRow1.Height = Application.GetRealHeight(23) + ControlCommonResourse.ListViewRowHeight; |
| | | frameRow1.BackgroundColor = UserCenterColor.Current.White; |
| | | bodyFrameLayout.AddChidren(frameRow1); |
| | | |
| | | //请输入新密码 |
| | | var rowNewPsw = new FrameRowControl(Application.GetRealHeight(5) / 2); |
| | | //关闭状态提示 |
| | | rowNewPsw.UseClickStatu = false; |
| | | rowNewPsw.Y = Application.GetRealHeight(23); |
| | | frameRow1.AddChidren(rowNewPsw); |
| | | var txtNewPsw = rowNewPsw.AddLeftInput("", 800); |
| | | txtNewPsw.SecureTextEntry = true; |
| | | txtNewPsw.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputNewPassword); |
| | | //底线 |
| | | rowNewPsw.AddBottomLine(); |
| | | //图标 |
| | | var btnNewPswIcon = rowNewPsw.AddMostRightEmptyIcon(58, 58); |
| | | btnNewPswIcon.UnSelectedImagePath = "Item/HidenPWD.png"; |
| | | btnNewPswIcon.SelectedImagePath = "Item/UnHidenPWD.png"; |
| | | btnNewPswIcon.ButtonClickEvent += (sender, e) => |
| | | { |
| | | btnNewPswIcon.IsSelected = !btnNewPswIcon.IsSelected; |
| | | txtNewPsw.SecureTextEntry = !txtNewPsw.SecureTextEntry; |
| | | }; |
| | | //Row1的错误信息 |
| | | var btnErrorRow1 = new NormalViewControl(800, 58, true); |
| | | btnErrorRow1.X = ControlCommonResourse.XXLeft; |
| | | btnErrorRow1.Y = rowNewPsw.Bottom + Application.GetRealHeight(29); |
| | | btnErrorRow1.TextColor = 0xfff75858; |
| | | frameRow1.AddChidren(btnErrorRow1); |
| | | |
| | | var frameRow2 = new FrameLayout(); |
| | | frameRow2.Y = frameRow1.Bottom; |
| | | frameRow2.Height = Application.GetRealHeight(150) + ControlCommonResourse.ListViewRowHeight; |
| | | bodyFrameLayout.AddChidren(frameRow2); |
| | | var frameTemp = new FrameLayout(); |
| | | frameTemp.Height = Application.GetRealHeight(161); |
| | | frameTemp.BackgroundColor = UserCenterColor.Current.White; |
| | | frameRow2.AddChidren(frameTemp); |
| | | //请重复输入新密码 |
| | | var rowConfirmPsw = new FrameRowControl(Application.GetRealHeight(5) / 2); |
| | | //关闭状态提示 |
| | | rowConfirmPsw.UseClickStatu = false; |
| | | rowConfirmPsw.Y = Application.GetRealHeight(10); |
| | | frameTemp.AddChidren(rowConfirmPsw); |
| | | var txtConfirmPsw = rowConfirmPsw.AddLeftInput("", 800); |
| | | txtConfirmPsw.SecureTextEntry = true; |
| | | txtConfirmPsw.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseRepeatInputNewPassword); |
| | | //图标 |
| | | var btnConfirmPswIcon = rowConfirmPsw.AddMostRightEmptyIcon(58, 58); |
| | | btnConfirmPswIcon.UnSelectedImagePath = "Item/HidenPWD.png"; |
| | | btnConfirmPswIcon.SelectedImagePath = "Item/UnHidenPWD.png"; |
| | | btnConfirmPswIcon.ButtonClickEvent += (sender, e) => |
| | | { |
| | | btnConfirmPswIcon.IsSelected = !btnConfirmPswIcon.IsSelected; |
| | | txtConfirmPsw.SecureTextEntry = !txtConfirmPsw.SecureTextEntry; |
| | | }; |
| | | //Row2的错误信息 |
| | | var btnErrorRow2 = new NormalViewControl(800, 58, true); |
| | | btnErrorRow2.X = ControlCommonResourse.XXLeft; |
| | | btnErrorRow2.Y = frameTemp.Bottom + Application.GetRealHeight(29); |
| | | btnErrorRow2.TextColor = 0xfff75858; |
| | | frameRow2.AddChidren(btnErrorRow2); |
| | | |
| | | //重置密码 |
| | | var btnReset = new BottomClickButton(688); |
| | | btnReset.TextID = R.MyInternationalizationString.uResetPassword; |
| | | btnReset.Y = Application.GetRealHeight(706); |
| | | bodyFrameLayout.AddChidren(btnReset); |
| | | btnReset.ButtonClickEvent += (sender, e) => |
| | | { |
| | | //密码检测 |
| | | var flage = this.CheckPassword(frameRow1, frameRow2, btnErrorRow1, btnErrorRow2, txtNewPsw.Text, txtConfirmPsw.Text); |
| | | if (flage == false) |
| | | { |
| | | return; |
| | | } |
| | | //重置密码 |
| | | this.ResetPassword(txtNewPsw.Text, txtConfirmPsw.Text); |
| | | }; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 重置密码___________________________ |
| | | |
| | | /// <summary> |
| | | /// 重置密码 |
| | | /// </summary> |
| | | /// <param name="newPsw">新密码</param> |
| | | /// <param name="newPsw2">二次确认密码</param> |
| | | private void ResetPassword(string newPsw, string newPsw2) |
| | | { |
| | | var pra = new ResetPswPra(); |
| | | pra.Password = newPsw; |
| | | pra.AgainPassword = newPsw2; |
| | | //更改密码 |
| | | bool flage = UserCenterLogic.GetResultStatuByRequestHttps("ZigbeeUsers/ResetPassword", false, pra); |
| | | if (flage == false) |
| | | { |
| | | return; |
| | | } |
| | | //密码已经修改,请重新登录 |
| | | string msg = Language.StringByID(R.MyInternationalizationString.uPasswordIsHadChangedAndLoginAgain); |
| | | this.ShowMassage(ShowMsgType.Normal, msg, () => |
| | | { |
| | | //从新登录 |
| | | UserCenterLogic.ReLoginAgain(Common.Config.Instance.Account); |
| | | }, Language.StringByID(R.MyInternationalizationString.Login)); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 一般方法___________________________ |
| | | |
| | | /// <summary> |
| | | /// 密码检测 |
| | | /// </summary> |
| | | /// <param name="frameRow1"></param> |
| | | /// <param name="frameRow2"></param> |
| | | /// <param name="btnError1"></param> |
| | | /// <param name="btnError2"></param> |
| | | /// <param name="newPsw">输入的新密码</param> |
| | | /// <param name="newPsw2">输入的确认密码</param> |
| | | /// <returns></returns> |
| | | private bool CheckPassword(FrameLayout frameRow1,FrameLayout frameRow2, |
| | | NormalViewControl btnError1, NormalViewControl btnError2, |
| | | string newPsw, string newPsw2) |
| | | { |
| | | //还原 |
| | | frameRow1.Height = Application.GetRealHeight(23) + ControlCommonResourse.ListViewRowHeight; |
| | | frameRow2.Y = frameRow1.Bottom; |
| | | btnError2.Text = string.Empty; |
| | | |
| | | if (newPsw == string.Empty) |
| | | { |
| | | //请输入新密码 |
| | | btnError1.TextID = R.MyInternationalizationString.uPleaseInputNewPassword; |
| | | frameRow1.Height += Application.GetRealHeight(133); |
| | | frameRow2.Y = frameRow1.Bottom; |
| | | return false; |
| | | } |
| | | if (newPsw2 == string.Empty) |
| | | { |
| | | //请重复输入新密码 |
| | | btnError2.TextID = R.MyInternationalizationString.uPleaseRepeatInputNewPassword; |
| | | return false; |
| | | } |
| | | if (newPsw != newPsw2) |
| | | { |
| | | //确认密码不一致,请重新输入 |
| | | btnError2.TextID = R.MyInternationalizationString.SecondPswNotEqual1; |
| | | return false; |
| | | } |
| | | if (newPsw.Length < 6 || newPsw.Length > 13) |
| | | { |
| | | //密码长度为6-13个字符 |
| | | string textValue = Language.StringByID(R.MyInternationalizationString.PswLengthMsg); |
| | | if (textValue.Contains("{0}") == true) |
| | | { |
| | | textValue = string.Format(textValue, "6-13"); |
| | | } |
| | | btnError1.Text = textValue; |
| | | frameRow1.Height += Application.GetRealHeight(133); |
| | | frameRow2.Y = frameRow1.Bottom; |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 结构体_____________________________ |
| | | |
| | | /// <summary> |
| | | /// 重置密码的启动参数 |
| | | /// </summary> |
| | | private class ResetPswPra |
| | | { |
| | | /// <summary> |
| | | /// 用户账号 |
| | | /// </summary> |
| | | public string Account = UserCenterResourse.UserInfo.Account; |
| | | /// <summary> |
| | | /// 国家地区代码,手机号发送验证码时使用 |
| | | /// </summary> |
| | | public int AreaCode = Convert.ToInt32(UserCenterResourse.UserInfo.AreaCode); |
| | | /// <summary> |
| | | /// 新密码 |
| | | /// </summary> |
| | | public string Password = string.Empty; |
| | | /// <summary> |
| | | /// 二次确认密码 |
| | | /// </summary> |
| | | public string AgainPassword = string.Empty; |
| | | } |
| | | #endregion |
| | | } |
| | | } |