using System; using System.Threading; using HDL_ON.DAL.Server; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public partial class ResetPasswordVerificationCodePage : FrameLayout { FrameLayout bodyView; Button btnNum1; Button btnNum1Line; Button btnNum2; Button btnNum2Line; Button btnNum3; Button btnNum3Line; Button btnNum4; Button btnNum4Line; Button btnNum5; Button btnNum5Line; Button btnNum6; Button btnNum6Line; EditText et; Button btnResend; /// /// /// Button btnTip; int titleId; ///// ///// 操作类型 1:邮箱,2:手机 ///// //int optionType; /// /// 是否手机 /// bool isPhone; /// /// 账号 /// string account; public ResetPasswordVerificationCodePage() { bodyView = this; } /// /// /// /// /// 是否手机 /// 账号 public void LoadPage(int tId, bool isPhone, string account) { titleId = tId; this.isPhone = isPhone; this.account = account; bodyView.BackgroundColor = CSS_Color.BackgroundColor; Action backAction = () => { Application.HideSoftInput(); BackConfirmAction(); }; new TopViewDiv(bodyView, Language.StringByID(tId), false).LoadTopView(backAction); //new TopViewDiv(bodyView, Language.StringByID(tId)).LoadTopView(); btnTip = new Button() { Y = Application.GetRealHeight(64), X = Application.GetRealWidth(16), Height = Application.GetRealHeight(84), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterLeft, TextID = StringId.VerificationCodePrompt, }; bodyView.AddChidren(btnTip); btnNum1 = new Button() { X = Application.GetRealWidth(24), Y = Application.GetRealHeight(156), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(38), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, }; bodyView.AddChidren(btnNum1); btnNum1Line = new Button() { X = Application.GetRealWidth(24), Y = btnNum1.Bottom, Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(2), BackgroundColor = CSS_Color.PromptingColor2, SelectedBackgroundColor = CSS_Color.MainColor, IsSelected = true, }; bodyView.AddChidren(btnNum1Line); btnNum2 = new Button() { X = Application.GetRealWidth(80), Y = Application.GetRealHeight(156), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(38), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, }; bodyView.AddChidren(btnNum2); btnNum2Line = new Button() { X = Application.GetRealWidth(80), Y = btnNum2.Bottom, Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.PromptingColor2, SelectedBackgroundColor = CSS_Color.MainColor, }; bodyView.AddChidren(btnNum2Line); btnNum3 = new Button() { X = Application.GetRealWidth(136), Y = Application.GetRealHeight(156), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(38), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, }; bodyView.AddChidren(btnNum3); btnNum3Line = new Button() { X = Application.GetRealWidth(136), Y = btnNum3.Bottom, Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.PromptingColor2, SelectedBackgroundColor = CSS_Color.MainColor, }; bodyView.AddChidren(btnNum3Line); btnNum4 = new Button() { X = Application.GetRealWidth(192), Y = Application.GetRealHeight(156), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(38), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, }; bodyView.AddChidren(btnNum4); btnNum4Line = new Button() { X = Application.GetRealWidth(192), Y = btnNum4.Bottom, Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.PromptingColor2, SelectedBackgroundColor = CSS_Color.MainColor, }; bodyView.AddChidren(btnNum4Line); btnNum5 = new Button() { X = Application.GetRealWidth(248), Y = Application.GetRealHeight(156), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(38), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, }; bodyView.AddChidren(btnNum5); btnNum5Line = new Button() { X = Application.GetRealWidth(248), Y = btnNum5.Bottom, Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.PromptingColor2, SelectedBackgroundColor = CSS_Color.MainColor, }; bodyView.AddChidren(btnNum5Line); btnNum6 = new Button() { X = Application.GetRealWidth(304), Y = Application.GetRealHeight(156), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(38), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, }; bodyView.AddChidren(btnNum6); btnNum6Line = new Button() { X = Application.GetRealWidth(304), Y = btnNum6.Bottom, Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.PromptingColor2, SelectedBackgroundColor = CSS_Color.MainColor, }; bodyView.AddChidren(btnNum6Line); et = new EditText() { Y = Application.GetRealHeight(276), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(10), IsNumberKeyboardType = true, Foucs = true, }; bodyView.AddChidren(et); btnResend = new Button() { Y = Application.GetRealHeight(276), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), Height = Application.GetRealHeight(44), SelectedBackgroundColor = CSS_Color.MainColor, BackgroundColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.MainBackgroundColor, TextID = StringId.Resend, TextSize = CSS_FontSize.SubheadingFontSize, IsBold = true, Radius = (uint)Application.GetRealWidth(22), BorderColor = 0x00000000, BorderWidth = 0, }; bodyView.AddChidren(btnResend); LoadThread_SendVerCode(); LoadEvent_Resend(); LoadEvent_VerificationEntryEvent(); } } //--------------------------------------------- public partial class ResetPasswordVerificationCodePage { /// /// 验证码输入变化事件 /// void LoadEvent_VerificationEntryEvent() { EventHandler clickEvent = (sender, e) => { et.Foucs = true; var etCode = et.Text; switch (etCode.Length) { case 0: btnNum1Line.IsSelected = true; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(2); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); break; case 1: btnNum2Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(2); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); break; case 2: btnNum3Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(3); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); break; case 3: btnNum4Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(4); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); break; case 4: btnNum5Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(5); btnNum6Line.Height = Application.GetRealHeight(1); break; case 5: btnNum6Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(2); break; } }; btnNum1.MouseUpEventHandler = clickEvent; btnNum2.MouseUpEventHandler = clickEvent; btnNum3.MouseUpEventHandler = clickEvent; btnNum4.MouseUpEventHandler = clickEvent; btnNum5.MouseUpEventHandler = clickEvent; btnNum6.MouseUpEventHandler = clickEvent; et.TextChangeEventHandler = (sender, e) => { var etCode = et.Text; switch (etCode.Length) { case 0: btnNum1Line.IsSelected = true; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1Line.Height = Application.GetRealHeight(2); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); btnNum1.Text = ""; btnNum2.Text = ""; btnNum3.Text = ""; btnNum4.Text = ""; btnNum5.Text = ""; btnNum6.Text = ""; break; case 1: btnNum2Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum1.Text = etCode.Substring(0, 1); btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(2); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); btnNum2.Text = ""; btnNum3.Text = ""; btnNum4.Text = ""; btnNum5.Text = ""; btnNum6.Text = ""; break; case 2: btnNum3Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum2.Text = etCode.Substring(1, 1); btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(2); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); btnNum3.Text = ""; btnNum4.Text = ""; btnNum5.Text = ""; btnNum6.Text = ""; break; case 3: btnNum4Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum3.Text = etCode.Substring(2, 1); btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(2); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(1); btnNum4.Text = ""; btnNum5.Text = ""; btnNum6.Text = ""; break; case 4: btnNum5Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum6Line.IsSelected = false; btnNum4.Text = etCode.Substring(3, 1); btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(2); btnNum6Line.Height = Application.GetRealHeight(1); btnNum5.Text = ""; btnNum6.Text = ""; break; case 5: btnNum6Line.IsSelected = true; btnNum1Line.IsSelected = false; btnNum2Line.IsSelected = false; btnNum3Line.IsSelected = false; btnNum4Line.IsSelected = false; btnNum5Line.IsSelected = false; btnNum5.Text = etCode.Substring(4, 1); btnNum1Line.Height = Application.GetRealHeight(1); btnNum2Line.Height = Application.GetRealHeight(1); btnNum3Line.Height = Application.GetRealHeight(1); btnNum4Line.Height = Application.GetRealHeight(1); btnNum5Line.Height = Application.GetRealHeight(1); btnNum6Line.Height = Application.GetRealHeight(2); btnNum6.Text = ""; break; case 6: btnNum6.Text = etCode.Substring(5, 1); et.Foucs = false; //输入完成 InputComplete(etCode); break; } }; } /// /// 输入完成 /// /// void InputComplete(string etCode) { new Thread(() => { bool result = false; Action act = () => { }; Application.RunOnMainThread(() => { act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait)); }); var resultObj = new HttpServerRequest().ValidatorCode(VerifyType.FIND_PASSWORD, account, etCode, isPhone, false); if (resultObj.Code == StateCode.SUCCESS) { result = true; } else { //失败提示 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } Application.RunOnMainThread(() => { act(); }); if (result) { Application.RunOnMainThread(() => { new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.ValidationSuccessful), true); }); Thread.Sleep(1600); Application.RunOnMainThread(() => { //MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); this.RemoveFromParent(); var vcp = new ResetPasswordPage(); vcp.isPhone = isPhone; vcp.account = account; vcp.verCode = etCode; MainPage.BasePageView.AddChidren(vcp); vcp.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } }) { IsBackground = true }.Start(); } /// /// 重发验证码等待线程 /// void LoadThread_SendVerCode() { btnResend.IsSelected = false; int time = 60; try { new Thread(() => { //2.2 获取验证码 ResponsePackNew resultObj; if (!isPhone) { resultObj = new DAL.Server.HttpServerRequest().VerificationCodeSend(VerifyType.FIND_PASSWORD, account); } else { resultObj = new DAL.Server.HttpServerRequest().VerificationCodeSend(VerifyType.FIND_PASSWORD, account, true, UserInfo.Current.areaCode.ToString()); } if (resultObj.Code != StateCode.SUCCESS) { //发送失败 Application.RunOnMainThread(() => { btnTip.TextID = StringId.FailedToSendVerificationCode; }); //失败提示 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } else { //发送成功,开始倒计时 Application.RunOnMainThread(() => { btnTip.TextID = StringId.VerificationCodePrompt; }); while (time > 0) { time--; Application.RunOnMainThread(() => { btnResend.Text = time.ToString() + "s"; }); Thread.Sleep(1000); } Application.RunOnMainThread(() => { btnResend.IsSelected = true; btnResend.TextID = StringId.GetVerificationCode; }); } }) { IsBackground = true }.Start(); } catch { } finally { }; } /// /// 重发验证码事件 /// void LoadEvent_Resend() { btnResend.MouseUpEventHandler = (sender, e) => { LoadThread_SendVerCode(); }; } /// /// 返回二次确认事件 /// void BackConfirmAction() { //验证码发送成功,二次确认退出 if (btnTip.TextID == StringId.VerificationCodePrompt) { Action cancelAction = () => { if (bodyView != null) { bodyView.RemoveFromParent(); } }; new ConfirmDialog().ShowDialog(StringId.Tip, StringId.VerificationCodeMayBeDelayed, null, cancelAction, StringId.ReturnStr, StringId.WaitAMoment); } else { //直接关闭 if (bodyView != null) { bodyView.RemoveFromParent(); } } } } }