using System; using Shared; using HDL_ON.UI.CSS; using System.Threading; namespace HDL_ON.UI { public partial class ChangeBindAccountPage : FrameLayout { FrameLayout bodyView; Action action; /// /// 操作目标类型 1:邮箱,2:手机 /// int optionType; public ChangeBindAccountPage() { bodyView = this; } /// /// /// /// /// 操作目标类型 1:邮箱,2:手机 /// /// public void LoadPage(Action act, int opt, int titleId, int contentTitleId) { action = act; optionType = opt; string account; if (optionType == 0) { account = MainPage.LoginUser.userEmailInfo; } else { account = MainPage.LoginUser.userMobileInfo; } bodyView.BackgroundColor = CSS_Color.BackgroundColor; new TopViewDiv(bodyView, Language.StringByID(titleId)).LoadTopView(); FrameLayout rowView = new FrameLayout() { Y = Application.GetRealHeight(72), Height = Application.GetRealHeight(50), BackgroundColor = CSS_Color.MainBackgroundColor, }; bodyView.AddChidren(rowView); Button btnTitle = new Button() { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(180), TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.CenterLeft, TextID = contentTitleId, }; rowView.AddChidren(btnTitle); Button btnContent = new Button() { Width = Application.GetRealWidth(359), TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterRight, Text = optionType == 1 ? MainPage.LoginUser.userEmailInfo : MainPage.LoginUser.userMobileInfo, }; rowView.AddChidren(btnContent); Button btnChangeBind = new Button() { Y = Application.GetRealHeight(213), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), Height = Application.GetRealHeight(44), BackgroundColor = CSS_Color.MainColor, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.MainBackgroundColor, TextID = StringId.GetVerificationCode, TextSize = CSS_FontSize.SubheadingFontSize, IsBold = true, Radius = (uint)Application.GetRealWidth(22), BorderColor = 0x00000000, BorderWidth = 0, }; bodyView.AddChidren(btnChangeBind); if (!string.IsNullOrEmpty(MainPage.LoginUser.userMobileInfo)) { Button btnChangeGetVer = new Button() { Y = btnChangeBind.Bottom, Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), Height = Application.GetRealHeight(64), TextColor = CSS_Color.MainColor, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.Center, TextID = StringId.ChangeTheVerificationMethod, }; bodyView.AddChidren(btnChangeGetVer); LoadEvent_ChangeVerificationMethod(btnChangeGetVer, btnTitle, btnContent); } LoadEvent_GetVerification(btnChangeBind, titleId); } } //--------------------------------------------------------- public partial class ChangeBindAccountPage { /// /// 更换想验证方式 /// void LoadEvent_ChangeVerificationMethod(Button btn, Button btnTitle, Button btnContent) { btn.MouseUpEventHandler = (sender, e) => { optionType = optionType == 1 ? 2 : 1; if (optionType == 2) { btnTitle.TextID = StringId.CurPhone; btnContent.Text = MainPage.LoginUser.userMobileInfo; } else { btnTitle.TextID = StringId.CurrentEmail; btnContent.Text = MainPage.LoginUser.userEmailInfo; } }; } int time = 0; /// /// 点击获取验证码 /// void LoadEvent_GetVerification(Button button, int titleId) { button.MouseUpEventHandler = (sender, e) => { if (button.Text == Language.StringByID(StringId.GetVerificationCode)) { new Thread(() => { if (optionType == 1) { var result = new DAL.Server.HttpServerRequest().GetLoginVerCode(MainPage.LoginUser.userEmailInfo); } else if (optionType == 2) { var result = new DAL.Server.HttpServerRequest().GetLoginVerCode(MainPage.LoginUser.userMobileInfo); } }) { IsBackground = true }.Start(); } if (time == 0) { time = 60; new Thread(() => { while (time > 0) { time--; Application.RunOnMainThread(() => { button.Text = time.ToString() + "s"; }); Thread.Sleep(1000); } Application.RunOnMainThread(() => { button.IsSelected = true; button.TextID = StringId.GetVerificationCode; button.BackgroundColor = CSS_Color.MainColor; time = 0; }); }) { IsBackground = true }.Start(); } button.BackgroundColor = CSS_Color.PromptingColor1; var vcp = new VerificationCodePage(); MainPage.BasePageView.AddChidren(vcp); vcp.LoadPage(action, titleId, optionType, time); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; } } }