using System; using Shared; using HDL_ON.UI.CSS; using System.Threading; using HDL_ON.DAL.Server; namespace HDL_ON.UI { /// /// 修改绑定或者解绑--发送验证码页面 /// public partial class ChangeBindAccountPage : FrameLayout { /// /// /// FrameLayout bodyView; /// /// /// Button btnTitle; /// /// /// Button btnContent; /// /// /// Action action; /// /// 操作目标类型 1:邮箱,2:手机 /// int optionType; /// /// 是否为解绑验证 /// public bool IsUnbind; /// /// ChangeBindAccountPage /// public ChangeBindAccountPage() { bodyView = this; } /// /// /// /// /// 操作目标类型 1:邮箱,2:手机 /// /// public void LoadPage(Action act, int opt, int titleId) { action = act; optionType = opt; string account; if (optionType == 0) { account = UserInfo.Current.userEmailInfo; } else { account = UserInfo.Current.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); 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); btnContent = new Button() { Width = Application.GetRealWidth(359), TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterRight, //Text = optionType == 1 ? UserInfo.Current.userEmailInfo : UserInfo.Current.userMobileInfo, }; rowView.AddChidren(btnContent); Button btnChangeBind = new Button() { Y = Application.GetRealHeight(213), Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(220), Height = Application.GetRealWidth(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( UserInfo.Current.userMobileInfo) && !string.IsNullOrEmpty( UserInfo.Current.userEmailInfo)) { 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); } SetContentTitleId(); LoadEvent_GetVerification(btnChangeBind, titleId); } /// /// 设置按钮提示文字 /// 修改绑定时提示:手机验证、邮箱验证 /// 解绑时提示:当前手机手机号码、当前邮箱地址 /// void SetContentTitleId() { if (optionType == 2) { btnTitle.TextID = IsUnbind ? StringId.CurPhone : StringId.PhoneNumberVerification; btnContent.Text = UserInfo.Current.userMobileInfo; } else { btnTitle.TextID = IsUnbind ? StringId.CurrentEmail : StringId.EmailVerification; btnContent.Text = UserInfo.Current.userEmailInfo; } } } //--------------------------------------------------------- public partial class ChangeBindAccountPage { /// /// 更换想验证方式 /// void LoadEvent_ChangeVerificationMethod(Button btn, Button btnTitle, Button btnContent) { btn.MouseUpEventHandler = (sender, e) => { optionType = optionType == 1 ? 2 : 1; SetContentTitleId(); }; } int time = 0; /// /// 点击获取验证码 /// void LoadEvent_GetVerification(Button button, int titleId) { button.MouseUpEventHandler = (sender, e) => { if (button.Text == Language.StringByID(StringId.GetVerificationCode)) { //加载Loading效果 var waitPage = new Loading(); bodyView.AddChidren(waitPage); waitPage.Start(Language.StringByID(StringId.PleaseWait)); new Thread(() => { try { //1.获取验证码,采用敏感数据验证 ResponsePackNew resultObj; if (optionType == 1)//邮箱 { resultObj = new HttpServerRequest().VerificationCodeSend(VerifyType.SENSITIVE_DATA, UserInfo.Current.userEmailInfo); } else { resultObj = new HttpServerRequest().VerificationCodeSend(VerifyType.SENSITIVE_DATA, UserInfo.Current.userMobileInfo, true, UserInfo.Current.areaCode); } if (resultObj.Code != StateCode.SUCCESS) { // 提示错误 IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); } else { 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(); } Application.RunOnMainThread(() => { button.BackgroundColor = CSS_Color.PromptingColor1; var vcp = new ChangeBindVerificationCodePage(); vcp.IsUnbind = IsUnbind; MainPage.BasePageView.AddChidren(vcp); vcp.LoadPage(action, titleId, optionType, time); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }); } } catch { } finally { Application.RunOnMainThread(() => { if (waitPage != null) { waitPage.RemoveFromParent(); waitPage = null; } }); } }) { IsBackground = true }.Start(); } }; } } }