From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 12 十一月 2020 13:36:01 +0800 Subject: [PATCH] 20201112 --- HDL_ON/UI/UI1-Login/RegisterPage.cs | 286 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 267 insertions(+), 19 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/RegisterPage.cs b/HDL_ON/UI/UI1-Login/RegisterPage.cs index bfd788e..4f30528 100644 --- a/HDL_ON/UI/UI1-Login/RegisterPage.cs +++ b/HDL_ON/UI/UI1-Login/RegisterPage.cs @@ -1,5 +1,8 @@ 锘縰sing System; +using System.Collections.Generic; +using System.Threading; using HDL_ON.DAL.Server; +using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -47,7 +50,7 @@ /// <summary> /// 璐﹀彿瀛愬尯鍩熷簳閮ㄦí绾� /// </summary> - Button btnAccountViewBottomLine; + Button btnVerificationCodeViewBottomLine; /// <summary> /// 瀵嗙爜瀛愬尯鍩� /// </summary> @@ -116,11 +119,15 @@ /// <summary> /// 鑾峰彇楠岃瘉鐮佹寜閽� /// </summary> - Button btnGetVerificationCode; + Button btnGetVerificationCode_Phone; + /// <summary> + /// 鑾峰彇楠岃瘉鐮佹寜閽� + /// </summary> + Button btnGetVerificationCode_Mail; /// <summary> /// 楠岃瘉鐮佸瓙鍖哄煙搴曢儴鍒嗗壊绾� /// </summary> - Button btnVerificationCodeViewBottomLine; + Button btnAccountViewBottomLine; /// <summary> /// 娉ㄥ唽鎸夐挳 /// </summary> @@ -150,13 +157,16 @@ /// <summary> /// 鍥炶皟浜嬩欢 /// </summary> - Action<string> callbackAction; + //Action callbackAction; /// <summary> /// 娉ㄥ唽绫诲瀷 /// 0:鎵嬫満 /// 1:閭 /// </summary> int registerType; + + string registerPhone; + string registerEmail; #endregion public RegisterPage() { @@ -169,17 +179,16 @@ pm = new HttpServerRequest(); } - public RegisterPage(Action<string> action) - { - bodyView = new FrameLayout() - { - BackgroundColor = CSS_Color.MainBackgroundColor, - }; - AddChidren(bodyView); - - pm = new HttpServerRequest(); - callbackAction = action; - } + //public RegisterPage(Action action) + //{ + // bodyView = new FrameLayout() + // { + // BackgroundColor = CSS_Color.MainBackgroundColor, + // }; + // AddChidren(bodyView); + // pm = new HttpServerRequest(); + // callbackAction = action; + //} public void ShowDialog() { @@ -193,7 +202,7 @@ Y = Application.GetRealHeight(112), Width = Application.GetRealWidth(120), Height = Application.GetRealHeight(40), - TextID = StringId.LoginByPhone, + TextID = StringId.RegisterByPhone, TextColor = CSS_Color.MainColor, TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.EmphasisFontSize_Secondary, @@ -206,7 +215,7 @@ Y = Application.GetRealHeight(112), Width = Application.GetRealWidth(100), Height = Application.GetRealHeight(40), - TextID = StringId.LoginByEmail, + TextID = StringId.RegisterByEmail, TextColor = CSS_Color.PromptingColor1, TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.TextFontSize, @@ -458,7 +467,7 @@ }; verificationCodeView.AddChidren(etVerificationCode); - btnGetVerificationCode = new Button() + btnGetVerificationCode_Phone = new Button() { X = Application.GetRealWidth(219), Width = Application.GetRealWidth(100), @@ -468,7 +477,20 @@ TextAlignment = TextAlignment.CenterRight, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; - verificationCodeView.AddChidren(btnGetVerificationCode); + verificationCodeView.AddChidren(btnGetVerificationCode_Phone); + + btnGetVerificationCode_Mail = new Button() + { + X = Application.GetRealWidth(219), + Width = Application.GetRealWidth(100), + TextID = StringId.GetVerificationCode, + SelectedTextColor = CSS_Color.MainColor, + TextColor = CSS_Color.PromptingColor1, + TextAlignment = TextAlignment.CenterRight, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Visible = false + }; + verificationCodeView.AddChidren(btnGetVerificationCode_Mail); btnVerificationCodeViewBottomLine = new Button() { @@ -499,5 +521,231 @@ LoadEventList(); } + + + /// <summary> + /// 娉ㄥ唽鎴愬姛涔嬪悗鑷姩鐧诲綍 + /// </summary> + void LoadEvent_AutoLogin(string account, string password) + { + Dialog dialog = new Dialog(); + + FrameLayout frame = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(198), + Width = Application.GetRealWidth(288), + Height = Application.GetRealHeight(206), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + BorderWidth = 0, + BorderColor = 0x00000000, + }; + dialog.AddChidren(frame); + + Button btnAccountText = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(40), + Height = Application.GetRealHeight(17 + 14 + 14), + IsMoreLines = true, + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + Text = account, + }; + frame.AddChidren(btnAccountText); + + Button btnTipRegisterSuccess = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(123), + Height = Application.GetRealHeight(30), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = StringId.CongratulationsRegistration, + }; + frame.AddChidren(btnTipRegisterSuccess); + + Button btnAutoLoginTip = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = btnTipRegisterSuccess.Bottom, + Height = Application.GetRealHeight(17 + 8), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextID = StringId.AutomaticallyLogin, + }; + frame.AddChidren(btnAutoLoginTip); + + Button btnHeadImage = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(150), + Width = Application.GetRealWidth(84), + Height = Application.GetRealWidth(84), + Radius = (uint)Application.GetRealWidth(42), + BorderColor = 0x00000000, + BorderWidth = 0, + UnSelectedImagePath = "LoginIcon/2.png", + }; + dialog.AddChidren(btnHeadImage); + + dialog.Show(); + + new Thread(() => + { + Thread.Sleep(1500); + Application.RunOnMainThread(() => + { + //鍒涘缓鐧诲綍绾跨▼ + var loginThread = LoadThread_Login(account, password); + waitPage = new Loading(); + new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); + dialog.Close(); + }); + }) + { IsBackground = true }.Start(); + } + + #region 鐧诲綍绾跨▼閮ㄥ垎 + /// <summary> + /// 鍔犺浇鐧诲綍绾跨▼ + /// </summary> + Thread LoadThread_Login(string account,string password) + { + var loginThread = new Thread(() => + { + try + { + //鐧诲綍 + var loginResult = LoadMethod_Login(account,password); + if (loginResult) + { + //鑾峰彇浣忓畢淇℃伅 + var getResidencesResult = LoadMethod_GetResidences(); + if (getResidencesResult) + { + /* + * Wait : 鎺ㄩ�佹敞鍐� + */ + + Application.RunOnMainThread(() => + { + waitPage.RemoveFromParent(); + waitPage = null; + + //璺宠浆椤甸潰---- + MainPage.GoUserPage(); + }); + } + } + } + catch (Exception ex) + { + MainPage.Log($"LoginPage : {ex.Message}"); + } + }) + { IsBackground = true }; + return loginThread; + } + + /// <summary> + /// 璋冪敤鐧诲綍鎺ュ彛鐧诲綍 + /// </summary> + bool LoadMethod_Login(string account, string password) + { + var result = false; + //璋冪敤鐧诲綍鎺ュ彛 + var loginResult = pm.LoginByPassword(account, password); + if (loginResult.StateCode.ToUpper() == "SUCCESS") + { + var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData); + + //璁板綍鐢ㄦ埛鏁版嵁 + MainPage.LoginUser = new UserInfo + { + ID = (int)loginDataStr.GetValue("UserID"), + masterID = (int)loginDataStr.GetValue("MainUserID"), + accountType = (int)loginDataStr.GetValue("UserType"), + accountString = account, + password = password, + lastTime = DateTime.Now, + userName = loginDataStr.GetValue("Remark").ToString(), + }; + MainPage.LoginUser.SaveUserInfo(); + MainPage.Log("鐧诲綍鎴愬姛銆�"); + result = true; + + + } + //鐧诲綍澶辫触 + else + { + string tipStr = "Sever erorr"; + switch (loginResult.StateCode) + { + case "USERNAMEORPWDERROR": + tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError); + break; + case "Self:Net_Error": + tipStr = Language.StringByID(StringId.NetworkAnomaly); + break; + } + //璐﹀彿鎴栬�呭瘑鐮侀敊璇� + Application.RunOnMainThread(() => + { + //鎻愮ず鍘熷洜 + var tip = new Tip() + { + Text = tipStr, + CloseTime = 1, + Direction = AMPopTipDirection.None + }; + tip.Show(bodyView); + btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); + }); + } + return result; + } + + /// <summary> + /// 鑾峰彇浣忓畢鍒楄〃 + /// </summary> + bool LoadMethod_GetResidences() + { + var result = false; + var responsePack = pm.GetHomePager(); + if (responsePack == "Success") + { + } + else + { + var tipStr = "Server erorr"; + switch (responsePack) + { + case "NoLogin": + tipStr = Language.StringByID(StringId.InvalidLoginCertificate); + break; + } + Application.RunOnMainThread(() => + { + //鎻愮ず鍘熷洜 + var tip = new Tip() + { + Text = tipStr, + CloseTime = 1, + Direction = AMPopTipDirection.None + }; + tip.Show(bodyView); + }); + + } + return result; + } + #endregion } } \ No newline at end of file -- Gitblit v1.8.0