using System; using Shared; using HDL_ON.UI.CSS; using System.Text.RegularExpressions; namespace HDL_ON.UI { public partial class BindAccountPage : FrameLayout { FrameLayout bodyView; Button btnBind; EditText etContent; Action action; /// /// 标题ID /// int titleId; public BindAccountPage() { bodyView = this; } public void LoadPage(Action act,int tId) { action = act; titleId = tId; 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 = titleId == StringId.BindEmail ? StringId.EntryNewEmail : StringId.EntryNewPhone, }; rowView.AddChidren(btnTitle); etContent = new EditText() { Width = Application.GetRealWidth(359), TextColor = CSS_Color.PromptingColor1, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterRight, Foucs = true }; rowView.AddChidren(etContent); btnBind = 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.Confirm, TextSize = CSS_FontSize.SubheadingFontSize, IsBold = true, Radius = (uint)Application.GetRealWidth(22), BorderColor = 0x00000000, BorderWidth = 0, }; bodyView.AddChidren(btnBind); LoadEvent_BindEmail(); } } //-------------------------------------------- public partial class BindAccountPage { void LoadEvent_BindEmail() { btnBind.MouseUpEventHandler = (sender, e) => { Application.HideSoftInput(); var account = etContent.Text.Trim(); if (titleId == StringId.BindEmail) { if (account == MainPage.LoginUser.userEmailInfo) { var tip = new Tip() { Text = Language.StringByID(StringId.EmailIsSameNoNeedModfiy), CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); return; } if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+")) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress), CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); return; } } else if (titleId == StringId.BindPhone) { if(account == MainPage.LoginUser.userMobileInfo) { var tip = new Tip() { Text = Language.StringByID(StringId.PhoneNumberIsSameNoNeedModfiy), CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); return; } if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11)) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); return; } } new System.Threading.Thread(() => { var result = new DAL.Server.HttpServerRequest().BindAccount(account); if (result.ToUpper() == "SUCCESS") { Application.RunOnMainThread(() => { if (titleId == StringId.BindEmail) { MainPage.LoginUser.userEmailInfo = account; } else if (titleId == StringId.BindPhone) { MainPage.LoginUser.userMobileInfo = account; } var page = new OperationResultDisPalyPage(); page.Show(); if (titleId == StringId.BindEmail) { page.LoadPage(true, Language.StringByID(StringId.BindEmail), Language.StringByID(StringId.BindEmailSuccess), ""); } else if (titleId == StringId.BindPhone) { page.LoadPage(true, Language.StringByID(StringId.BindPhone), Language.StringByID(StringId.BindPhoneSuccess), ""); } for (int i = 0; i < 3; i++) { MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent(); } action(account); }); } else { var tipMsg = ""; Application.RunOnMainThread(() => { var page = new OperationResultDisPalyPage(); page.Show(); if (titleId == StringId.BindEmail) { if (result == "Exist") { tipMsg = Language.StringByID(StringId.EmailAlreadyUse); } page.LoadPage(false, Language.StringByID(StringId.BindEmail), Language.StringByID(StringId.BindEmailFail) + "," + tipMsg, ""); } else { if (result == "Exist") { tipMsg = Language.StringByID(StringId.PhoneNumberAlreadyUse); } page.LoadPage(false, Language.StringByID(StringId.BindPhone), Language.StringByID(StringId.BindPhoneFail) + "," + tipMsg, ""); } }); } }) { IsBackground = true }.Start(); }; } } }