From 9aa32bd5ed75d54b2141b6c91f163d43216a3643 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 06 十二月 2019 13:14:02 +0800 Subject: [PATCH] 20191206 --- HDL_ON/UI/UI1-Login/BLL/LoginPageBLL.cs | 344 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 232 insertions(+), 112 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/BLL/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/BLL/LoginPageBLL.cs index a221911..285d2d9 100644 --- a/HDL_ON/UI/UI1-Login/BLL/LoginPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/BLL/LoginPageBLL.cs @@ -1,6 +1,7 @@ 锘縰sing System; +using System.Text.RegularExpressions; using System.Threading; -using HDL_ON.DAL.Server; +using System.Collections.Generic; using HDL_ON.UI.CSS; using Shared; @@ -17,11 +18,11 @@ LoadPage_SwitchLoginType(); LoadMethod_VisiblePassword(); LoadPage_SwitchLoginMode(); - LoadMethod_LoginMethod(); + LoadEvent_Login(); LoadPage_SelectionEditText(); LoadPage_RegisterPage(); GetVerificationCode(); - + LoadMethod_ForgetPassword(); } /// <summary> @@ -31,33 +32,32 @@ { btnGetVerificationCode.MouseUpEventHandler += (sender, e) => { -#if DEBUG - etAccount.Text = "17576024298"; -#endif - string phoneNumber = etAccount.Text.Trim(); - btnGetVerificationCode.Enable = false; - btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; - int time = 60; - new Thread(() => + if (btnGetVerificationCode.IsSelected) { - while (time != 0) + string phoneNumber = etAccount.Text.Trim(); + btnGetVerificationCode.IsSelected = false; + btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; + int time = 60; + new Thread(() => { - time--; + while (time < 0) + { + time--; + Application.RunOnMainThread(() => + { + btnGetVerificationCode.Text = time.ToString() + "s"; + }); + Thread.Sleep(1000); + } Application.RunOnMainThread(() => { - btnGetVerificationCode.Text = time.ToString() + "s"; + btnGetVerificationCode.IsSelected = true; + btnGetVerificationCode.TextID = InternationalizationString.GetVerificationCode; }); - Thread.Sleep(1000); - } - }) - { IsBackground = true }.Start(); - //妫�鏌ユ墜鏈烘槸鍚﹀凡缁忚娉ㄥ唽 - var checkPhoneResult = pm.IsExistingAccount(etAccount.Text.Trim()); - //鎵嬫満宸茬粡琚敞鍐� - if (checkPhoneResult.StateCode == HttpRequesResult.SUCCESS.ToString()) - { + }) + { IsBackground = true }.Start(); //鑾峰彇楠岃瘉鐮� - pm.GetPhoneVerificationCode(phoneNumber,MainPage.Company); + pm.GetPhoneLoginVerCode(phoneNumber); } }; } @@ -248,7 +248,7 @@ /// <summary> /// 鐧诲綍鎸夐挳鐐瑰嚮浜嬩欢 /// </summary> - void LoadMethod_LoginMethod() + void LoadEvent_Login() { btnLogin.MouseUpEventHandler += (sender, e) => { @@ -256,9 +256,40 @@ { account = etAccount.Text.Trim(); password = etPassword.Text.Trim(); + + if (logintType == 0) + { + if (!Regex.IsMatch(account, @"^[1]+\d{9}")) + { + var tip = new Tip() + { + Text = Language.StringByID(InternationalizationString.PlsEntryCorrectMobilNeumber), + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(bodyView); + return; + } + } + else + { + if(! Regex.IsMatch(account, "^[\\w-]+@[\\w-]+\\.(com|net|org|edu|mil|tv|biz|info)$")) + { + var tip = new Tip() + { + Text = Language.StringByID(InternationalizationString.PlsEntryCorrectEmailAddress), + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(bodyView); + return; + } + } + //鍒涘缓鐧诲綍绾跨▼ - var loginThread = LoadMethod_LoginThread(); - LoadPage_WaitPage(loginThread); + var loginThread = LoadThread_Login(); + waitPage = new Loading(); + new WaitPageMothed().LoadPage_WaitPage(loginThread, bodyView, waitPage); } }; @@ -289,96 +320,37 @@ } /// <summary> - /// 鍔犺浇绛夊緟鐣岄潰 - /// </summary> - void LoadPage_WaitPage(Thread thread) - { - waitPage = new Loading(); - bodyView.AddChidren(waitPage); - waitPage.Start(Language.StringByID(InternationalizationString.PleaseWait)); - var showedTime = DateTime.Now; - //濡傛灉绛夊緟浜嬩欢杩囬暱锛屽彲浠ュ厑璁哥敤鎴峰彇娑堝綋鍓嶆搷浣� - waitPage.MouseUpEventHandler += (sender, e) => - { - if (showedTime.AddSeconds(30) > DateTime.Now) - { - waitPage.RemoveFromParent(); - waitPage = null; - thread.Abort(); - } - }; - thread.Start(); - } - - /// <summary> /// 鍔犺浇鐧诲綍绾跨▼ /// </summary> - Thread LoadMethod_LoginThread() + Thread LoadThread_Login() { var loginThread = new Thread(() => { try { - var loginResult = pm.LoginByPassword(account,password,MainPage.Company); - Application.RunOnMainThread(() => + //鐧诲綍 + var loginResult = LoadMethod_Login(); + if (loginResult) { - waitPage.RemoveFromParent(); - waitPage = null; - }); - //鐧诲綍鎴愬姛 - if (loginResult.StateCode == HttpRequesResult.SUCCESS.ToString()) - { - var loginResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.ResponseData.ToString()); - //璁板綍鐢ㄦ埛鏁版嵁 - MainPage.LoginUser = new UserInfo + //鑾峰彇浣忓畢淇℃伅 + var getResidencesResult = LoadMethod_GetResidences(); + if (getResidencesResult) { - ID = loginResponseData.UserId, - MasterID = loginResponseData.MainUserId, - AccountType = loginResponseData.UserType, - AccountString = account, - Password = password, - LastTime = DateTime.Now, - SIP_Account = loginResponseData.AllVisionRegisterDevUserNameGuid, - }; - MainPage.LoginUser.SaveUserInfo(); - MainPage.Log("鐧诲綍鎴愬姛銆�"); - //璺宠浆椤甸潰---- - Application.RunOnMainThread(() => - { - var personalCenterPage = new UI2.PersonalCenterPage(); - personalCenterPage.BackgroundColor = CSS_Color.MainBackgroundColor; - MainPage.BaseView.AddChidren(personalCenterPage); - personalCenterPage.LoadView(); - }); + /* + * Wait : 鎺ㄩ�佹敞鍐� + */ - /* - * Wait : 鎺ㄩ�佹敞鍐� - */ - } - //鐧诲綍澶辫触 - else - { - Application.RunOnMainThread(() => - { - //鎻愮ず鍘熷洜 - var tip = new Tip() + Application.RunOnMainThread(() => { - Text = loginResult.ErrorInfo, - CloseTime = 3, - Direction = AMPopTipDirection.None - }; - tip.Show(bodyView); - //if (loginResult.StateCode == HttpRequesResult.LoginFailed_AccountErorr.ToString()) - { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); - //} - //else if (loginResult.StateCode == HttpRequesResult.LoginFailed_PasswordErorr.ToString()) - //{ - btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); - } - }); + waitPage.RemoveFromParent(); + waitPage = null; + + //璺宠浆椤甸潰---- + var ss = new UserPage(); + MainPage.BaseView.AddChidren(ss); + ss.LoadPage(); + }); + } } } catch (Exception ex) @@ -388,6 +360,122 @@ }) { IsBackground = true }; return loginThread; + } + /// <summary> + /// 璋冪敤鐧诲綍鎺ュ彛鐧诲綍 + /// </summary> + bool LoadMethod_Login() + { + var result = false; + //璋冪敤鐧诲綍鎺ュ彛 + var loginResult = pm.LoginByPassword(account, password); + if (loginResult.StateCode == "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, + SIP_Account = loginDataStr.GetValue("AllVisionRegisterDevUserNameGuid").ToString(), + }; + MainPage.LoginUser.SaveUserInfo(); + MainPage.Log("鐧诲綍鎴愬姛銆�"); + result = true; + } + //鐧诲綍澶辫触 + else + { + string tipStr = "Sever erorr"; + switch (loginResult.StateCode) + { + case "USERNAMEORPWDERROR": + tipStr = Language.StringByID(InternationalizationString.LoginFailed_AccountOrPasswordError); + break; + case "Self:Net_Error": + tipStr = Language.StringByID(InternationalizationString.NetworkAnomaly); + break; + } + //璐﹀彿鎴栬�呭瘑鐮侀敊璇� + Application.RunOnMainThread(() => + { + //鎻愮ず鍘熷洜 + var tip = new Tip() + { + Text = tipStr, + CloseTime = 3, + 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.StateCode == "Success") + { + var dataStr = Newtonsoft.Json.Linq.JObject.FromObject(responsePack.ResponseData); + //娌℃湁浣忓畢 + if (dataStr.GetValue("PageData").ToString() == "[]") + { + + } + else + { + MainPage.LoginUser.HomeLists = new List<RegionInfoRes>(); + foreach (var jsonData in dataStr.GetValue("PageData")) + { + var homeJsonStr = Newtonsoft.Json.Linq.JObject.FromObject(jsonData); + var home = new RegionInfoRes() + { + RegionID = homeJsonStr.GetValue("Id").ToString(), + RegionName = homeJsonStr.GetValue("RegionName").ToString(), + Name = homeJsonStr.GetValue("Name").ToString(), + }; + MainPage.LoginUser.HomeLists.Add(home); + } + UserConfig.Instance.ChangeResidence(MainPage.LoginUser.HomeLists[0]); + UserConfig.Instance.SaveUserConfig(); + } + result = true; + } + else + { + var tipStr = "Server erorr"; + switch (responsePack.StateCode) + { + case "NoLogin": + tipStr = Language.StringByID(InternationalizationString.InvalidLoginCertificate); + break; + } + Application.RunOnMainThread(() => + { + //鎻愮ず鍘熷洜 + var tip = new Tip() + { + Text = tipStr, + CloseTime = 3, + Direction = AMPopTipDirection.None + }; + tip.Show(bodyView); + }); + + } + return result; } /// <summary> @@ -399,13 +487,17 @@ //鍥炶皟浜嬩欢 Action<string> callBackAction = (callBackPar_Action) => { - try + Application.RunOnMainThread(() => { - etAccount.Text = callBackPar_Action; - } - catch (Exception ex) { - MainPage.Log($"login callBackAction : {ex.Message}"); - } + try + { + etAccount.Text = callBackPar_Action; + } + catch (Exception ex) + { + MainPage.Log($"login callBackAction : {ex.Message}"); + } + }); }; var registerPage = new RegisterPage(callBackAction); @@ -413,5 +505,33 @@ registerPage.ShowDialog(); }; } + + /// <summary> + /// 蹇樿瀵嗙爜 + /// </summary> + void LoadMethod_ForgetPassword() + { + btnForgetPassword.MouseUpEventHandler += (sender, e) => + { + Action<string> callBackAction = (callBackPar_Action) => + { + Application.RunOnMainThread(() => + { + try + { + etAccount.Text = callBackPar_Action; + } + catch (Exception ex) + { + MainPage.Log($"login callBackAction : {ex.Message}"); + } + }); + }; + var forgetPasswordDialog = new ForgetPasswordPage(callBackAction); + forgetPasswordDialog.Show(); + forgetPasswordDialog.ShowDialog(); + + }; + } } } -- Gitblit v1.8.0