using System;
using System.Collections.Generic;
using Shared.Common;
using Shared.Phone.Device.CommonForm;
using Shared.Phone.UserCenter;
namespace Shared.Phone.Login
{
///
/// 注册界面(注:此界面特殊,需要避开底层的处理)
///
public class AccountRegisterForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 1:手机号 2:邮箱
///
private int SelectIndex = 1;
///
/// 输入的手机号(防止二次更改)
///
private string strInputPhone = string.Empty;
///
/// 输入的邮箱(防止二次更改)
///
private string strInputEmail = string.Empty;
///
/// 当前的输入控件 0:手机号或者邮箱 1:第一次密码 2:第二次密码 3:验证码
///
private List ListNowInputControl = new List { null, null, null, null };
///
/// 错误提示控件
///
private NormalViewControl btnErrorMsg = null;
///
/// 注册按钮
///
private BottomClickButton btnRegister = null;
///
/// 第三方绑定的id
///
private string strOpenID = string.Empty;
#endregion
#region ■ 初始化_____________________________
///
/// 界面显示
///
/// 第三方绑定的id
public void ShowForm(string i_OpenID)
{
this.strOpenID = i_OpenID;
CommonPage.Instance.IsDrawerLockMode = true;
this.Tag = "Register";
//初始化头部控件
base.InitTopFrameLayout();
//初始化中部控件
base.InitBodyFrameLayout();
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.Register));
//注册按钮
this.btnRegister = new BottomClickButton(688);
btnRegister.Y = Application.GetRealHeight(1281);
btnRegister.TextID = R.MyInternationalizationString.Register;
btnRegister.oldBackgroundColor = UserCenterColor.Current.ClickButtonDefultColor;
bodyFrameLayout.AddChidren(btnRegister);
btnRegister.CanClick = false;
btnRegister.ButtonClickEvent += (sender, e) =>
{
//注册用户
this.RegisterAccount();
};
//已有账号?登录
var btnTip = new NormalViewControl(400, 58, true);
btnTip.Y = btnRegister.Bottom + Application.GetRealHeight(50);
btnTip.TextID = R.MyInternationalizationString.LoginByAccountPWD_1;
btnTip.TextColor = ZigbeeColor.Current.GXCTextGrayColor;
btnTip.TextSize = 12;
btnTip.TextAlignment = TextAlignment.Center;
btnTip.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(btnTip);
btnTip.ButtonClickEvent += (sender, e) =>
{
this.CloseForm();
};
//几个输入控件的集合
var listControl = new List();
//初始化手机号输入控件
var framePhone = this.InitPhoneInputView(ref listControl);
//初始化邮箱输入控件
var frameEmail = this.InitEmailInputView(ref listControl);
//错误提示Btn
this.btnErrorMsg = new NormalViewControl(700, 58, true);
btnErrorMsg.X = Application.GetRealWidth(156);
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.CheckRegisterButtonStatu();
};
//执行初始化
sitchControl.InitControl(ZigbeeColor.Current.GXCButtonBlackSelectedColor, 1);
}
///
/// 初始化手机号输入的界面
///
/// 几个输入控件的集合
///
private FrameLayout InitPhoneInputView(ref List 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 framePswOne = new FrameLayout();
framePswOne.X = Application.GetRealWidth(29);
framePswOne.Y = Application.GetRealHeight(196);
framePswOne.Width = framePhone.Width;
framePswOne.Height = framePhone.Height;
frameBack.AddChidren(framePswOne);
//图标
var btnPswOneIcon = new IconViewControl(92);
btnPswOneIcon.X = Application.GetRealWidth(29);
btnPswOneIcon.Gravity = Gravity.CenterVertical;
btnPswOneIcon.UnSelectedImagePath = "Account/Password.png";
framePswOne.AddChidren(btnPswOneIcon);
//第一次密码的输入框
var txtPswOne = new TextInputControl(550, 92, true);
txtPswOne.X = Application.GetRealWidth(222);
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(363);
framePswTwo.Width = framePhone.Width;
framePswTwo.Height = framePhone.Height;
frameBack.AddChidren(framePswTwo);
//图标
var btnPswTwoIcon = new IconViewControl(92);
btnPswTwoIcon.X = Application.GetRealWidth(29);
btnPswTwoIcon.Gravity = Gravity.CenterVertical;
btnPswTwoIcon.UnSelectedImagePath = "Account/Password.png";
framePswTwo.AddChidren(btnPswTwoIcon);
//第二次密码的输入框
var txtPswTwo = new TextInputControl(550, 92, true);
txtPswTwo.X = Application.GetRealWidth(222);
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;
//验证码的容器
var frameCode = new FrameLayout();
frameCode.X = Application.GetRealWidth(29);
frameCode.Y = Application.GetRealHeight(530);
frameCode.Width = framePhone.Width;
frameCode.Height = framePhone.Height;
frameBack.AddChidren(frameCode);
//图标
var btnCodeIcon = new IconViewControl(92);
btnCodeIcon.X = Application.GetRealWidth(29);
btnCodeIcon.Gravity = Gravity.CenterVertical;
btnCodeIcon.UnSelectedImagePath = "Account/Code.png";
frameCode.AddChidren(btnCodeIcon);
//验证码输入框
var txtCode = new TextInputControl(300, 92, true);
txtCode.X = Application.GetRealWidth(222);
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;
//验证码输入变更时
txtCode.TextChangeEventHandler += (sender, value) =>
{
//检测注册按钮的状态
this.CheckRegisterButtonStatu();
};
//手机号输入变更时
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;
}
///
/// 初始化邮箱输入的界面
///
/// 几个输入控件的集合
///
private FrameLayout InitEmailInputView(ref List 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 btnEmailIcon = new IconViewControl(92);
btnEmailIcon.X = Application.GetRealWidth(29);
btnEmailIcon.Gravity = Gravity.CenterVertical;
btnEmailIcon.UnSelectedImagePath = "Account/Account.png";
frameEmail.AddChidren(btnEmailIcon);
//邮箱输入框
var txtEmail = new TextInputControl(600, 92, true);
txtEmail.X = Application.GetRealWidth(222);
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 framePswOne = new FrameLayout();
framePswOne.X = Application.GetRealWidth(29);
framePswOne.Y = Application.GetRealHeight(196);
framePswOne.Width = frameEmail.Width;
framePswOne.Height = frameEmail.Height;
frameBack.AddChidren(framePswOne);
//图标
var btnPswOneIcon = new IconViewControl(92);
btnPswOneIcon.X = Application.GetRealWidth(29);
btnPswOneIcon.Gravity = Gravity.CenterVertical;
btnPswOneIcon.UnSelectedImagePath = "Account/Password.png";
framePswOne.AddChidren(btnPswOneIcon);
//第一次密码的输入框
var txtPswOne = new TextInputControl(550, 92, true);
txtPswOne.X = Application.GetRealWidth(222);
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(363);
framePswTwo.Width = frameEmail.Width;
framePswTwo.Height = frameEmail.Height;
frameBack.AddChidren(framePswTwo);
//图标
var btnPswTwoIcon = new IconViewControl(92);
btnPswTwoIcon.X = Application.GetRealWidth(29);
btnPswTwoIcon.Gravity = Gravity.CenterVertical;
btnPswTwoIcon.UnSelectedImagePath = "Account/Password.png";
framePswTwo.AddChidren(btnPswTwoIcon);
//第二次密码的输入框
var txtPswTwo = new TextInputControl(550, 92, true);
txtPswTwo.X = Application.GetRealWidth(222);
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;
//验证码的容器
var frameCode = new FrameLayout();
frameCode.X = Application.GetRealWidth(29);
frameCode.Y = Application.GetRealHeight(530);
frameCode.Width = frameEmail.Width;
frameCode.Height = frameEmail.Height;
frameBack.AddChidren(frameCode);
//图标
var btnCodeIcon = new IconViewControl(92);
btnCodeIcon.X = Application.GetRealWidth(29);
btnCodeIcon.Gravity = Gravity.CenterVertical;
btnCodeIcon.UnSelectedImagePath = "Account/Code.png";
frameCode.AddChidren(btnCodeIcon);
//验证码输入框
var txtCode = new TextInputControl(300, 92, true);
txtCode.X = Application.GetRealWidth(222);
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;
//验证码输入变更时
txtCode.TextChangeEventHandler += (sender, value) =>
{
//检测注册按钮的状态
this.CheckRegisterButtonStatu();
};
//邮箱输入变更时
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 ■ 发送验证码_________________________
///
/// 发送验证码
///
///
private void SendVerificationCode(NormalViewControl control)
{
//检测输入的账号
if (this.CheckInputAccount() == 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 ■ 注册用户___________________________
///
/// 注册用户
///
private void RegisterAccount()
{
//检测输入的账号
if (this.CheckInputAccount() == false)
{
return;
}
//不能再点击
this.btnRegister.CanClick = false;
//注册
var account = this.SelectIndex == 1 ? this.strInputPhone : this.strInputEmail;
var errorMsg = HdlAccountLogic.Current.RegisterAccount(account, ListNowInputControl[1].Text.Trim(), ListNowInputControl[3].Text.Trim());
if (errorMsg == null)
{
var registerSuccess = new AccountRegisterResultForm();
CommonPage.Instance.AddChidren(registerSuccess);
registerSuccess.ShowForm(this.SelectIndex == 1 ? this.strInputPhone : this.strInputEmail, ListNowInputControl[1].Text.Trim(), this.strOpenID);
return;
}
this.btnErrorMsg.Text = errorMsg;
//可以再次点击
this.btnRegister.CanClick = true;
}
#endregion
#region ■ 一般方法___________________________
///
/// 检测注册按钮的状态
///
private void CheckRegisterButtonStatu()
{
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.btnRegister.CanClick = false;
return;
}
this.btnRegister.CanClick = true;
}
///
/// 检测输入的账号
///
///
private bool CheckInputAccount()
{
this.btnErrorMsg.Text = string.Empty;
//手机
if (this.SelectIndex == 1)
{
if (HdlCheckLogic.Current.CheckPhoneNumber(ListNowInputControl[0].Text.Trim(), "86") == 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;
}
}
//先判断2次密码输入是否一致
if (ListNowInputControl[1].Text != ListNowInputControl[2].Text)
{
this.btnErrorMsg.TextID = R.MyInternationalizationString.TwoPasswordInconsistency;
return false;
}
if (HdlCheckLogic.Current.CheckPwdLength(ListNowInputControl[1].Text.Trim()) == false)
{
this.btnErrorMsg.TextID = R.MyInternationalizationString.ThePWDLengthError;
return false;
}
return true;
}
#endregion
}
}