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