New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared.Common; |
| | | |
| | | namespace Shared.Phone.Login |
| | | { |
| | | /// <summary> |
| | | /// 忘记密码界面(注:此界面特殊,需要避开底层的处理) |
| | | /// </summary> |
| | | public class AccountForgotPasswordForm : EditorCommonForm |
| | | { |
| | | #region ■ 变量声明___________________________ |
| | | |
| | | /// <summary> |
| | | /// 1:手机号 2:邮箱 |
| | | /// </summary> |
| | | private int SelectIndex = 1; |
| | | /// <summary> |
| | | /// 输入的手机号(防止二次更改) |
| | | /// </summary> |
| | | private string strInputPhone = string.Empty; |
| | | /// <summary> |
| | | /// 输入的邮箱(防止二次更改) |
| | | /// </summary> |
| | | private string strInputEmail = string.Empty; |
| | | /// <summary> |
| | | /// 当前的输入控件 0:手机号或者邮箱 1:验证码 2:第一次密码 3:第二次密码 |
| | | /// </summary> |
| | | private List<TextInputControl> ListNowInputControl = new List<TextInputControl> { null, null, null, null }; |
| | | /// <summary> |
| | | /// 错误提示控件 |
| | | /// </summary> |
| | | private NormalViewControl btnErrorMsg = null; |
| | | /// <summary> |
| | | /// 重置按钮 |
| | | /// </summary> |
| | | private BottomClickButton btnReset = null; |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 初始化_____________________________ |
| | | |
| | | /// <summary> |
| | | /// 界面显示 |
| | | /// </summary> |
| | | public void ShowForm() |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | this.Tag = "Forgot"; |
| | | |
| | | //初始化头部控件 |
| | | base.InitTopFrameLayout(); |
| | | //初始化中部控件 |
| | | base.InitBodyFrameLayout(); |
| | | base.SetTitleText(Language.StringByID(R.MyInternationalizationString.ForgotPWD)); |
| | | |
| | | //重置按钮 |
| | | this.btnReset = new BottomClickButton(688); |
| | | btnReset.Y = Application.GetRealHeight(1290); |
| | | btnReset.TextID = R.MyInternationalizationString.ComfirmReset; |
| | | btnReset.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor; |
| | | bodyFrameLayout.AddChidren(btnReset); |
| | | btnReset.CanClick = false; |
| | | btnReset.ButtonClickEvent += (sender, e) => |
| | | { |
| | | //注册用户 |
| | | this.ResetPassword(); |
| | | }; |
| | | |
| | | //几个输入控件的集合 |
| | | var listControl = new List<TextInputControl>(); |
| | | //初始化手机号输入控件 |
| | | var framePhone = this.InitPhoneInputView(ref listControl); |
| | | //初始化邮箱输入控件 |
| | | var frameEmail = this.InitEmailInputView(ref listControl); |
| | | |
| | | //错误提示Btn |
| | | this.btnErrorMsg = new NormalViewControl(700, 58, true); |
| | | btnErrorMsg.X = Application.GetRealWidth(127); |
| | | btnErrorMsg.Y = Application.GetRealHeight(1060); |
| | | btnErrorMsg.TextColor = ZigbeeColor.Current.GXCTextRed; |
| | | btnErrorMsg.IsBold = true; |
| | | bodyFrameLayout.AddChidren(btnErrorMsg); |
| | | |
| | | //邮箱,手机号的切换控件 |
| | | var sitchControl = new Controls.PhoneEmailSelectControl(); |
| | | sitchControl.Y = Application.GetRealHeight(127); |
| | | bodyFrameLayout.AddChidren(sitchControl); |
| | | |
| | | sitchControl.SelectMenuEvent += (selectMenu) => |
| | | { |
| | | this.SelectIndex = selectMenu; |
| | | //手机号 |
| | | if (this.SelectIndex == 1) |
| | | { |
| | | framePhone.Visible = true; |
| | | frameEmail.Visible = false; |
| | | //当前的输入控件 |
| | | ListNowInputControl[0] = listControl[0]; |
| | | ListNowInputControl[1] = listControl[1]; |
| | | ListNowInputControl[2] = listControl[2]; |
| | | ListNowInputControl[3] = listControl[3]; |
| | | } |
| | | //邮箱 |
| | | else if (this.SelectIndex == 2) |
| | | { |
| | | framePhone.Visible = false; |
| | | frameEmail.Visible = true; |
| | | //当前的输入控件 |
| | | ListNowInputControl[0] = listControl[4]; |
| | | ListNowInputControl[1] = listControl[5]; |
| | | ListNowInputControl[2] = listControl[6]; |
| | | ListNowInputControl[3] = listControl[7]; |
| | | } |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | //执行初始化 |
| | | sitchControl.InitControl(ZigbeeColor.Current.GXCButtonBlackSelectedColor, 1); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始化手机号输入的界面 |
| | | /// </summary> |
| | | /// <param name="listControl">几个输入控件的集合</param> |
| | | /// <returns></returns> |
| | | private FrameLayout InitPhoneInputView(ref List<TextInputControl> listControl) |
| | | { |
| | | //背景框 |
| | | var frameBack = new FrameLayout(); |
| | | frameBack.Y = Application.GetRealHeight(334); |
| | | frameBack.Height = Application.GetRealHeight(852); |
| | | frameBack.Width = Application.GetRealWidth(942); |
| | | frameBack.Gravity = Gravity.CenterHorizontal; |
| | | frameBack.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; |
| | | frameBack.Radius = (uint)Application.GetRealHeight(17); |
| | | bodyFrameLayout.AddChidren(frameBack); |
| | | |
| | | //手机号行的容器 |
| | | var framePhone = new FrameLayout(); |
| | | framePhone.X = Application.GetRealWidth(29); |
| | | framePhone.Y = Application.GetRealHeight(29); |
| | | framePhone.Width = Application.GetRealWidth(884); |
| | | framePhone.Height = Application.GetRealHeight(138); |
| | | frameBack.AddChidren(framePhone); |
| | | //地区码 |
| | | var btnAreaCode = new NormalViewControl(160, 92, true); |
| | | btnAreaCode.Gravity = Gravity.CenterVertical; |
| | | btnAreaCode.TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | btnAreaCode.Text = $"+{CommonPage.PhoneZoneStr}"; |
| | | btnAreaCode.TextAlignment = TextAlignment.Center; |
| | | framePhone.AddChidren(btnAreaCode); |
| | | //手机号输入框 |
| | | var txtPhone = new TextInputControl(600, 92, true); |
| | | txtPhone.X = Application.GetRealWidth(222); |
| | | txtPhone.Gravity = Gravity.CenterVertical; |
| | | txtPhone.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPhoneNum); |
| | | txtPhone.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | txtPhone.IsNumberKeyboardType = true; |
| | | framePhone.AddChidren(txtPhone); |
| | | listControl.Add(txtPhone); |
| | | //手机号输入框的底线 |
| | | var btnPhoneLine = new NormalViewControl(framePhone.Width, HdlControlResourse.BottomLineHeight, false); |
| | | btnPhoneLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnPhoneLine.Y = framePhone.Height - HdlControlResourse.BottomLineHeight; |
| | | framePhone.AddChidren(btnPhoneLine); |
| | | //联动底线 |
| | | txtPhone.btnLine = btnPhoneLine; |
| | | |
| | | //验证码的容器 |
| | | var frameCode = new FrameLayout(); |
| | | frameCode.X = Application.GetRealWidth(29); |
| | | frameCode.Y = Application.GetRealHeight(196); |
| | | frameCode.Width = framePhone.Width; |
| | | frameCode.Height = framePhone.Height; |
| | | frameBack.AddChidren(frameCode); |
| | | //验证码输入框 |
| | | var txtCode = new TextInputControl(536, 92, true); |
| | | txtCode.X = Application.GetRealWidth(29); |
| | | txtCode.Gravity = Gravity.CenterVertical; |
| | | txtCode.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputVerificationCode); |
| | | txtCode.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | frameCode.AddChidren(txtCode); |
| | | listControl.Add(txtCode); |
| | | //获取验证码 |
| | | var btnSendCode = new NormalViewControl(300, 127, true); |
| | | btnSendCode.X = frameCode.Width - Application.GetRealWidth(300); |
| | | btnSendCode.Gravity = Gravity.CenterVertical; |
| | | btnSendCode.TextID = R.MyInternationalizationString.SendVerificationCode; |
| | | btnSendCode.TextColor = ZigbeeColor.Current.GXCTextWhiteColor; |
| | | btnSendCode.TextAlignment = TextAlignment.Center; |
| | | btnSendCode.BackgroundColor = 0xFFFEBCA9; |
| | | btnSendCode.CanClick = false; |
| | | btnSendCode.Radius = (uint)Application.GetRealHeight(12); |
| | | btnSendCode.IsBold = true; |
| | | frameCode.AddChidren(btnSendCode); |
| | | btnSendCode.ButtonClickEvent += (sender, e) => |
| | | { |
| | | //发送验证码 |
| | | this.SendVerificationCode(btnSendCode); |
| | | }; |
| | | //获取验证码的底线 |
| | | var btnCodeLine = new NormalViewControl(Application.GetRealWidth(536), HdlControlResourse.BottomLineHeight, false); |
| | | btnCodeLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnCodeLine.Y = frameCode.Height - HdlControlResourse.BottomLineHeight; |
| | | frameCode.AddChidren(btnCodeLine); |
| | | //联动底线 |
| | | txtCode.btnLine = btnCodeLine; |
| | | |
| | | //第一次密码的容器 |
| | | var framePswOne = new FrameLayout(); |
| | | framePswOne.X = Application.GetRealWidth(29); |
| | | framePswOne.Y = Application.GetRealHeight(363); |
| | | framePswOne.Width = framePhone.Width; |
| | | framePswOne.Height = framePhone.Height; |
| | | frameBack.AddChidren(framePswOne); |
| | | //第一次密码的输入框 |
| | | var txtPswOne = new TextInputControl(700, 92, true); |
| | | txtPswOne.X = Application.GetRealWidth(29); |
| | | txtPswOne.Gravity = Gravity.CenterVertical; |
| | | txtPswOne.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD); |
| | | txtPswOne.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | txtPswOne.SecureTextEntry = true; |
| | | framePswOne.AddChidren(txtPswOne); |
| | | listControl.Add(txtPswOne); |
| | | //第一次密码可视图标 |
| | | var btnPswOneHiden = new IconViewControl(92); |
| | | btnPswOneHiden.X = Application.GetRealWidth(775); |
| | | btnPswOneHiden.Gravity = Gravity.CenterVertical; |
| | | btnPswOneHiden.SelectedImagePath = "Account/HidePwd.png"; |
| | | btnPswOneHiden.UnSelectedImagePath = "Account/UnhidePwd.png"; |
| | | btnPswOneHiden.IsSelected = true; |
| | | framePswOne.AddChidren(btnPswOneHiden); |
| | | btnPswOneHiden.ButtonClickEvent += (sender, e) => |
| | | { |
| | | btnPswOneHiden.IsSelected = !btnPswOneHiden.IsSelected; |
| | | txtPswOne.SecureTextEntry = btnPswOneHiden.IsSelected; |
| | | }; |
| | | //第一次密码输入框的底线 |
| | | var btnPswOneLine = new NormalViewControl(framePswOne.Width, HdlControlResourse.BottomLineHeight, false); |
| | | btnPswOneLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnPswOneLine.Y = framePswOne.Height - HdlControlResourse.BottomLineHeight; |
| | | framePswOne.AddChidren(btnPswOneLine); |
| | | //联动底线 |
| | | txtPswOne.btnLine = btnPswOneLine; |
| | | |
| | | //第二次密码的容器 |
| | | var framePswTwo = new FrameLayout(); |
| | | framePswTwo.X = Application.GetRealWidth(29); |
| | | framePswTwo.Y = Application.GetRealHeight(530); |
| | | framePswTwo.Width = framePhone.Width; |
| | | framePswTwo.Height = framePhone.Height; |
| | | frameBack.AddChidren(framePswTwo); |
| | | //第二次密码的输入框 |
| | | var txtPswTwo = new TextInputControl(700, 92, true); |
| | | txtPswTwo.X = Application.GetRealWidth(29); |
| | | txtPswTwo.Gravity = Gravity.CenterVertical; |
| | | txtPswTwo.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD); |
| | | txtPswTwo.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | txtPswTwo.SecureTextEntry = true; |
| | | framePswTwo.AddChidren(txtPswTwo); |
| | | listControl.Add(txtPswTwo); |
| | | //第二次密码可视图标 |
| | | var btnPswTwoHiden = new IconViewControl(92); |
| | | btnPswTwoHiden.X = Application.GetRealWidth(775); |
| | | btnPswTwoHiden.Gravity = Gravity.CenterVertical; |
| | | btnPswTwoHiden.SelectedImagePath = "Account/HidePwd.png"; |
| | | btnPswTwoHiden.UnSelectedImagePath = "Account/UnhidePwd.png"; |
| | | btnPswTwoHiden.IsSelected = true; |
| | | framePswTwo.AddChidren(btnPswTwoHiden); |
| | | btnPswTwoHiden.ButtonClickEvent += (sender, e) => |
| | | { |
| | | btnPswTwoHiden.IsSelected = !btnPswTwoHiden.IsSelected; |
| | | txtPswTwo.SecureTextEntry = btnPswTwoHiden.IsSelected; |
| | | }; |
| | | //第二次密码输入框的底线 |
| | | var btnPswTwoLine = new NormalViewControl(framePswTwo.Width, HdlControlResourse.BottomLineHeight, false); |
| | | btnPswTwoLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnPswTwoLine.Y = framePswTwo.Height - HdlControlResourse.BottomLineHeight; |
| | | framePswTwo.AddChidren(btnPswTwoLine); |
| | | //联动底线 |
| | | txtPswTwo.btnLine = btnPswTwoLine; |
| | | |
| | | //验证码输入变更时 |
| | | txtCode.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | //密码输入变更时 |
| | | txtPswOne.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | txtPswTwo.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | //手机号输入变更时 |
| | | txtPhone.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | this.btnErrorMsg.Text = string.Empty; |
| | | if (txtPhone.Text.Trim() != string.Empty) |
| | | { |
| | | if (btnSendCode.CanClick == false) |
| | | { |
| | | btnSendCode.CanClick = true; |
| | | btnSendCode.BackgroundColor = 0xFFFC744B; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | btnSendCode.CanClick = false; |
| | | btnSendCode.BackgroundColor = 0xFFFEBCA9; |
| | | } |
| | | }; |
| | | |
| | | return frameBack; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 初始化邮箱输入的界面 |
| | | /// </summary> |
| | | /// <param name="listControl">几个输入控件的集合</param> |
| | | /// <returns></returns> |
| | | private FrameLayout InitEmailInputView(ref List<TextInputControl> listControl) |
| | | { |
| | | //背景框 |
| | | var frameBack = new FrameLayout(); |
| | | frameBack.Y = Application.GetRealHeight(334); |
| | | frameBack.Height = Application.GetRealHeight(852); |
| | | frameBack.Width = Application.GetRealWidth(942); |
| | | frameBack.Gravity = Gravity.CenterHorizontal; |
| | | frameBack.BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor; |
| | | frameBack.Radius = (uint)Application.GetRealHeight(17); |
| | | bodyFrameLayout.AddChidren(frameBack); |
| | | |
| | | //邮箱行的容器 |
| | | var frameEmail = new FrameLayout(); |
| | | frameEmail.X = Application.GetRealWidth(29); |
| | | frameEmail.Y = Application.GetRealHeight(29); |
| | | frameEmail.Width = Application.GetRealWidth(884); |
| | | frameEmail.Height = Application.GetRealHeight(138); |
| | | frameBack.AddChidren(frameEmail); |
| | | //邮箱输入框 |
| | | var txtEmail = new TextInputControl(700, 92, true); |
| | | txtEmail.X = Application.GetRealWidth(29); |
| | | txtEmail.Gravity = Gravity.CenterVertical; |
| | | txtEmail.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputEmail); |
| | | txtEmail.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | frameEmail.AddChidren(txtEmail); |
| | | listControl.Add(txtEmail); |
| | | //邮箱输入框的底线 |
| | | var btnEmailLine = new NormalViewControl(frameEmail.Width, HdlControlResourse.BottomLineHeight, false); |
| | | btnEmailLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnEmailLine.Y = frameEmail.Height - HdlControlResourse.BottomLineHeight; |
| | | frameEmail.AddChidren(btnEmailLine); |
| | | //联动底线 |
| | | txtEmail.btnLine = btnEmailLine; |
| | | |
| | | //验证码的容器 |
| | | var frameCode = new FrameLayout(); |
| | | frameCode.X = Application.GetRealWidth(29); |
| | | frameCode.Y = Application.GetRealHeight(196); |
| | | frameCode.Width = frameEmail.Width; |
| | | frameCode.Height = frameEmail.Height; |
| | | frameBack.AddChidren(frameCode); |
| | | //验证码输入框 |
| | | var txtCode = new TextInputControl(536, 92, true); |
| | | txtCode.X = Application.GetRealWidth(29); |
| | | txtCode.Gravity = Gravity.CenterVertical; |
| | | txtCode.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputVerificationCode); |
| | | txtCode.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | frameCode.AddChidren(txtCode); |
| | | listControl.Add(txtCode); |
| | | //获取验证码 |
| | | var btnSendCode = new NormalViewControl(300, 127, true); |
| | | btnSendCode.X = frameCode.Width - Application.GetRealWidth(300); |
| | | btnSendCode.Gravity = Gravity.CenterVertical; |
| | | btnSendCode.TextID = R.MyInternationalizationString.SendVerificationCode; |
| | | btnSendCode.TextColor = ZigbeeColor.Current.GXCTextWhiteColor; |
| | | btnSendCode.TextAlignment = TextAlignment.Center; |
| | | btnSendCode.BackgroundColor = 0xFFFEBCA9; |
| | | btnSendCode.CanClick = false; |
| | | btnSendCode.Radius = (uint)Application.GetRealHeight(12); |
| | | btnSendCode.IsBold = true; |
| | | frameCode.AddChidren(btnSendCode); |
| | | btnSendCode.ButtonClickEvent += (sender, e) => |
| | | { |
| | | //发送验证码 |
| | | this.SendVerificationCode(btnSendCode); |
| | | }; |
| | | //获取验证码的底线 |
| | | var btnCodeLine = new NormalViewControl(Application.GetRealWidth(536), HdlControlResourse.BottomLineHeight, false); |
| | | btnCodeLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnCodeLine.Y = frameCode.Height - HdlControlResourse.BottomLineHeight; |
| | | frameCode.AddChidren(btnCodeLine); |
| | | //联动底线 |
| | | txtCode.btnLine = btnCodeLine; |
| | | |
| | | //第一次密码的容器 |
| | | var framePswOne = new FrameLayout(); |
| | | framePswOne.X = Application.GetRealWidth(29); |
| | | framePswOne.Y = Application.GetRealHeight(363); |
| | | framePswOne.Width = frameEmail.Width; |
| | | framePswOne.Height = frameEmail.Height; |
| | | frameBack.AddChidren(framePswOne); |
| | | //第一次密码的输入框 |
| | | var txtPswOne = new TextInputControl(700, 92, true); |
| | | txtPswOne.X = Application.GetRealWidth(29); |
| | | txtPswOne.Gravity = Gravity.CenterVertical; |
| | | txtPswOne.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD); |
| | | txtPswOne.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | txtPswOne.SecureTextEntry = true; |
| | | framePswOne.AddChidren(txtPswOne); |
| | | listControl.Add(txtPswOne); |
| | | //第一次密码可视图标 |
| | | var btnPswOneHiden = new IconViewControl(92); |
| | | btnPswOneHiden.X = Application.GetRealWidth(775); |
| | | btnPswOneHiden.Gravity = Gravity.CenterVertical; |
| | | btnPswOneHiden.SelectedImagePath = "Account/HidePwd.png"; |
| | | btnPswOneHiden.UnSelectedImagePath = "Account/UnhidePwd.png"; |
| | | btnPswOneHiden.IsSelected = true; |
| | | framePswOne.AddChidren(btnPswOneHiden); |
| | | btnPswOneHiden.ButtonClickEvent += (sender, e) => |
| | | { |
| | | btnPswOneHiden.IsSelected = !btnPswOneHiden.IsSelected; |
| | | txtPswOne.SecureTextEntry = btnPswOneHiden.IsSelected; |
| | | }; |
| | | //第一次密码输入框的底线 |
| | | var btnPswOneLine = new NormalViewControl(framePswOne.Width, HdlControlResourse.BottomLineHeight, false); |
| | | btnPswOneLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnPswOneLine.Y = framePswOne.Height - HdlControlResourse.BottomLineHeight; |
| | | framePswOne.AddChidren(btnPswOneLine); |
| | | //联动底线 |
| | | txtPswOne.btnLine = btnPswOneLine; |
| | | |
| | | //第二次密码的容器 |
| | | var framePswTwo = new FrameLayout(); |
| | | framePswTwo.X = Application.GetRealWidth(29); |
| | | framePswTwo.Y = Application.GetRealHeight(530); |
| | | framePswTwo.Width = frameEmail.Width; |
| | | framePswTwo.Height = frameEmail.Height; |
| | | frameBack.AddChidren(framePswTwo); |
| | | //第二次密码的输入框 |
| | | var txtPswTwo = new TextInputControl(700, 92, true); |
| | | txtPswTwo.X = Application.GetRealWidth(29); |
| | | txtPswTwo.Gravity = Gravity.CenterVertical; |
| | | txtPswTwo.PlaceholderText = Language.StringByID(R.MyInternationalizationString.PleaseInputPWD); |
| | | txtPswTwo.PlaceholderTextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor; |
| | | txtPswTwo.SecureTextEntry = true; |
| | | framePswTwo.AddChidren(txtPswTwo); |
| | | listControl.Add(txtPswTwo); |
| | | //第二次密码可视图标 |
| | | var btnPswTwoHiden = new IconViewControl(92); |
| | | btnPswTwoHiden.X = Application.GetRealWidth(775); |
| | | btnPswTwoHiden.Gravity = Gravity.CenterVertical; |
| | | btnPswTwoHiden.SelectedImagePath = "Account/HidePwd.png"; |
| | | btnPswTwoHiden.UnSelectedImagePath = "Account/UnhidePwd.png"; |
| | | btnPswTwoHiden.IsSelected = true; |
| | | framePswTwo.AddChidren(btnPswTwoHiden); |
| | | btnPswTwoHiden.ButtonClickEvent += (sender, e) => |
| | | { |
| | | btnPswTwoHiden.IsSelected = !btnPswTwoHiden.IsSelected; |
| | | txtPswTwo.SecureTextEntry = btnPswTwoHiden.IsSelected; |
| | | }; |
| | | //第二次密码输入框的底线 |
| | | var btnPswTwoLine = new NormalViewControl(framePswTwo.Width, HdlControlResourse.BottomLineHeight, false); |
| | | btnPswTwoLine.BackgroundColor = UserCenterColor.Current.ButtomLine; |
| | | btnPswTwoLine.Y = framePswTwo.Height - HdlControlResourse.BottomLineHeight; |
| | | framePswTwo.AddChidren(btnPswTwoLine); |
| | | //联动底线 |
| | | txtPswTwo.btnLine = btnPswTwoLine; |
| | | |
| | | //验证码输入变更时 |
| | | txtCode.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | //密码输入变更时 |
| | | txtPswOne.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | txtPswTwo.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | //检测注册按钮的状态 |
| | | this.CheckResetButtonStatu(); |
| | | }; |
| | | //手机号输入变更时 |
| | | txtEmail.TextChangeEventHandler += (sender, value) => |
| | | { |
| | | this.btnErrorMsg.Text = string.Empty; |
| | | if (txtEmail.Text.Trim() != string.Empty) |
| | | { |
| | | if (btnSendCode.CanClick == false) |
| | | { |
| | | btnSendCode.CanClick = true; |
| | | btnSendCode.BackgroundColor = 0xFFFC744B; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | btnSendCode.CanClick = false; |
| | | btnSendCode.BackgroundColor = 0xFFFEBCA9; |
| | | } |
| | | }; |
| | | |
| | | return frameBack; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 发送验证码_________________________ |
| | | |
| | | /// <summary> |
| | | /// 发送验证码 |
| | | /// </summary> |
| | | /// <param name="control"></param> |
| | | private void SendVerificationCode(NormalViewControl control) |
| | | { |
| | | //检测输入的账号 |
| | | if (this.CheckInputAccount(1) == false) |
| | | { |
| | | return; |
| | | } |
| | | //不能再点击 |
| | | control.CanClick = false; |
| | | |
| | | var errorMsg = string.Empty; |
| | | //手机 |
| | | if (this.SelectIndex == 1) |
| | | { |
| | | this.strInputPhone = ListNowInputControl[0].Text.Trim(); |
| | | errorMsg = HdlAccountLogic.Current.SendVeriCodeToPhone("86", this.strInputPhone, VerCodeType.A找回密码); |
| | | } |
| | | //邮箱 |
| | | else |
| | | { |
| | | this.strInputEmail = ListNowInputControl[0].Text.Trim(); |
| | | errorMsg = HdlAccountLogic.Current.SendVeriCodeToEmail(this.strInputEmail, VerCodeType.A找回密码); |
| | | } |
| | | if (errorMsg == null) |
| | | { |
| | | //发送验证码成功,请注意查收 |
| | | this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.SendVerificationCodeSuccess)); |
| | | |
| | | control.BackgroundColor = UserCenterColor.Current.White; |
| | | control.TextColor = ZigbeeColor.Current.GXCTextBlackColor; |
| | | |
| | | //启动倒计时 |
| | | HdlThreadLogic.Current.RunThread(() => |
| | | { |
| | | //后重发 |
| | | string txtValue = Language.StringByID(R.MyInternationalizationString.SendVerificationCodeAgain); |
| | | int timeOut = 60; |
| | | while (timeOut > 0 && control.Parent != null) |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | control.Text = timeOut + "s" + txtValue; |
| | | }); |
| | | timeOut--; |
| | | System.Threading.Thread.Sleep(1000); |
| | | } |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | control.TextID = R.MyInternationalizationString.SendVerificationCode; |
| | | control.BackgroundColor = 0xFFFC744B; |
| | | control.TextColor = ZigbeeColor.Current.GXCTextWhiteColor; |
| | | control.CanClick = true; |
| | | }); |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | this.btnErrorMsg.Text = errorMsg; |
| | | control.CanClick = true; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 重置密码___________________________ |
| | | |
| | | /// <summary> |
| | | /// 重置密码 |
| | | /// </summary> |
| | | private void ResetPassword() |
| | | { |
| | | //检测输入的账号 |
| | | if (this.CheckInputAccount(2) == false) |
| | | { |
| | | return; |
| | | } |
| | | //不能再点击 |
| | | this.btnReset.CanClick = false; |
| | | |
| | | var errorMsg = string.Empty; |
| | | //手机 |
| | | if (this.SelectIndex == 1) |
| | | { |
| | | errorMsg = HdlAccountLogic.Current.ResetPassword(this.strInputPhone, ListNowInputControl[2].Text.Trim(), ListNowInputControl[1].Text.Trim()); |
| | | } |
| | | //邮箱 |
| | | else |
| | | { |
| | | errorMsg = HdlAccountLogic.Current.ResetPassword(this.strInputEmail, ListNowInputControl[2].Text.Trim(), ListNowInputControl[1].Text.Trim()); |
| | | } |
| | | if (errorMsg == null) |
| | | { |
| | | var form = new AccountResetPswResultForm(); |
| | | CommonPage.Instance.AddChidren(form); |
| | | form.Show(); |
| | | return; |
| | | } |
| | | this.btnErrorMsg.Text = errorMsg; |
| | | //可以再次点击 |
| | | this.btnReset.CanClick = true; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region ■ 一般方法___________________________ |
| | | |
| | | /// <summary> |
| | | /// 检测重置按钮的状态 |
| | | /// </summary> |
| | | private void CheckResetButtonStatu() |
| | | { |
| | | this.btnErrorMsg.Text = string.Empty; |
| | | //只要有一个为空,则重置按钮不可用 |
| | | if (this.ListNowInputControl[0].Text.Trim() == string.Empty |
| | | || this.ListNowInputControl[1].Text.Trim() == string.Empty |
| | | || this.ListNowInputControl[2].Text.Trim() == string.Empty |
| | | || this.ListNowInputControl[3].Text.Trim() == string.Empty) |
| | | { |
| | | this.btnReset.CanClick = false; |
| | | return; |
| | | } |
| | | |
| | | this.btnReset.CanClick = true; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 检测输入的账号 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private bool CheckInputAccount(int div) |
| | | { |
| | | this.btnErrorMsg.Text = string.Empty; |
| | | //手机 |
| | | if (this.SelectIndex == 1) |
| | | { |
| | | if (HdlCheckLogic.Current.CheckPhoneNumber(ListNowInputControl[0].Text.Trim(), CommonPage.PhoneZoneStr) == false) |
| | | { |
| | | this.btnErrorMsg.TextID = R.MyInternationalizationString.ThePhoneError; |
| | | return false; |
| | | } |
| | | } |
| | | //邮箱 |
| | | else |
| | | { |
| | | if (HdlCheckLogic.Current.CheckEmail(ListNowInputControl[0].Text.Trim()) == false) |
| | | { |
| | | this.btnErrorMsg.TextID = R.MyInternationalizationString.TheEmailError; |
| | | return false; |
| | | } |
| | | } |
| | | if (div == 1) |
| | | { |
| | | //如果是发送验证码,则不需要检测密码 |
| | | return true; |
| | | } |
| | | |
| | | //先判断2次密码输入是否一致 |
| | | if (ListNowInputControl[2].Text != ListNowInputControl[3].Text) |
| | | { |
| | | this.btnErrorMsg.TextID = R.MyInternationalizationString.TwoPasswordInconsistency; |
| | | return false; |
| | | } |
| | | if (HdlCheckLogic.Current.CheckPwdLength(ListNowInputControl[2].Text.Trim()) == false) |
| | | { |
| | | this.btnErrorMsg.TextID = R.MyInternationalizationString.ThePWDLengthError; |
| | | return false; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |