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
|
}
|
}
|