From 5eeafe3af80bfd88306bd8ad9e76c8f4b51ca35f Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 14:16:20 +0800 Subject: [PATCH] 增加本地发送的重发机制 --- HDL_ON/UI/UI1-Login/LoginPageBLL.cs | 665 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 429 insertions(+), 236 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs index b3399d7..a2d2bb8 100644 --- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs @@ -5,6 +5,7 @@ using HDL_ON.UI.CSS; using Shared; using HDL_ON.Entity; +using HDL_ON.DAL.Server; namespace HDL_ON.UI.UI1Login { @@ -27,11 +28,30 @@ } /// <summary> + /// 妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + /// </summary> + /// <param name="result"></param> + void CheckAndSetUserRequestHost(ResponsePackNew result) + { + try + { + var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString()); + if (OnAppConfig.Instance.RequestHttpsHost != mGlobalRegionListObj.regionUrl) + { + OnAppConfig.Instance.RequestHttpsHost = mGlobalRegionListObj.regionUrl; + OnAppConfig.Instance.GlobalRegion = mGlobalRegionListObj; + OnAppConfig.Instance.SaveConfig(); + } + } + catch { } + } + + /// <summary> /// 鐐瑰嚮鎸夐挳鑾峰彇楠岃瘉鐮� /// </summary> void GetVerificationCode() { - btnGetVerificationCode.MouseUpEventHandler += (sender, e) => + btnGetVerificationCode.MouseUpEventHandler = (sender, e) => { if (btnGetVerificationCode.IsSelected) { @@ -41,7 +61,7 @@ var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryPhoneNumber), - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); @@ -50,12 +70,12 @@ btnAccountViewBottomLine.Height = Application.GetRealHeight(2); return; } - if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11)) + if (!Utlis.CheckPhoneNumber(phoneNumber, phoneZoneCode)) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); @@ -64,94 +84,102 @@ btnAccountViewBottomLine.Height = Application.GetRealHeight(2); return; } - btnGetVerificationCode.IsSelected = false ; - btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; + //鍔犺浇Loading鏁堟灉 + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(Language.StringByID(StringId.PleaseWait)); + int time = 60; new Thread(() => { - while (time > 0) + try { - time--; - Application.RunOnMainThread(() => + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + if (result.Code != StateCode.SUCCESS) { - btnGetVerificationCode.Text = time.ToString() + "s"; - }); - Thread.Sleep(1000); - } - Application.RunOnMainThread(() => - { - btnGetVerificationCode.IsSelected = true; - btnGetVerificationCode.TextID = StringId.GetVerificationCode; - }); - }) - { IsBackground = true }.Start(); - new Thread(() => - { - //鑾峰彇楠岃瘉鐮� - var result = pm.GetPhoneLoginVerCode(phoneNumber); - if (result.StateCode.ToUpper() == "SUCCESS") - { - } - //鐧诲綍澶辫触 - else - { - string tipStr = "Sever erorr"; - switch (result.StateCode.ToUpper()) + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + ShowBtnAccountViewBottomLineError(); + return; + } + else { - case "USERNAMEORPWDERROR": - tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError); + //妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + CheckAndSetUserRequestHost(result); + + //2.1璇锋眰鑾峰彇楠岃瘉鐮� + var resultObj = pm.VerificationCodeSend(VerifyType.VERIFY_LOGIN, account, true, phoneZoneCode); + if (resultObj.Code != StateCode.SUCCESS) + { + //2.2璇锋眰鑾峰彇楠岃瘉鐮佸け璐� Application.RunOnMainThread(() => { btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); }); - break; - case "ACCOUNTNOEXISTS": - tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS); + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + } + else + { Application.RunOnMainThread(() => { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + btnGetVerificationCode.IsSelected = false; + btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; }); - break; - case "SENDFAIL": - tipStr = Language.StringByID(StringId.FailedToSendVerificationCode); - Application.RunOnMainThread(() => + + new Thread(() => { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - case "Self:Net_Error": - tipStr = Language.StringByID(StringId.NetworkAnomaly); - break; + while (time > 0) + { + time--; + Application.RunOnMainThread(() => + { + btnGetVerificationCode.Text = time.ToString() + "s"; + }); + Thread.Sleep(1000); + } + Application.RunOnMainThread(() => + { + btnGetVerificationCode.IsSelected = true; + btnGetVerificationCode.TextID = StringId.GetVerificationCode; + }); + }) + { IsBackground = true }.Start(); + } } + } + catch { } + finally + { Application.RunOnMainThread(() => { - //鎻愮ず鍘熷洜 - var tip = new Tip() + if (waitPage != null) { - Text = tipStr, - CloseTime = 3, - Direction = AMPopTipDirection.None - }; - tip.Show(bodyView); + waitPage.RemoveFromParent(); + waitPage = null; + } }); } }) { IsBackground = true }.Start(); + } }; } /// <summary> - /// 鍒囨崲鐧诲綍绫诲瀷 + /// /// </summary> - void LoadPage_SwitchLoginType() + /// <param name="type">鏄惁閫夋嫨鎵嬫満鐧诲綍</param> + void LoginTypeChange(bool isPhone) { - //閫夋嫨鎵嬫満鐧诲綍 - btnPhoneLogin.MouseUpEventHandler += (sender, e) => + if(isPhone) { + if (loginType == 0) + return; + etAccount.Text = registerPhone; + etPassword.Text = ""; #region 鍒囨崲閫変腑鎸夐挳 btnEmailLogin.TextColor = CSS_Color.PromptingColor1; btnEmailLogin.TextSize = CSS_FontSize.TextFontSize; @@ -170,11 +198,42 @@ //鏄剧ず楠岃瘉鐮佺櫥褰曟柟寮忥紝鎵嬫満鐧诲綍鏈夐獙璇佺爜鐧诲綍 btnSwitchLoginMode.Visible = true; #endregion - }; - //閫夋嫨閭鐧诲綍 - btnEmailLogin.MouseUpEventHandler += (sender, e) => + #region + if (logintMode == 1) + { + if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) + { + btnGetVerificationCode.IsSelected = true; + } + btnSwitchLoginMode.TextID = StringId.PasswordLogin; + //passwordView.AddChidren(btnGetVerificationCode); + btnGetVerificationCode.Visible = true; + etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode); + btnPasswordIcon.IsSelected = true; + if (btnVisiblePassword.Parent != null) + { + btnVisiblePassword.RemoveFromParent(); + } + if (btnDividingLineVertical_PasswordView2.Parent != null) + { + btnDividingLineVertical_PasswordView2.RemoveFromParent(); + } + if (btnForgetPassword.Parent != null) + { + btnForgetPassword.RemoveFromParent(); + } + //楠岃瘉鐮佷笉闇�瑕侀殣钘� + etPassword.SecureTextEntry = false; + } + #endregion + } + else { + if (loginType == 1) + return; + etAccount.Text = registerEmail; + etPassword.Text = ""; #region 鍒囨崲閫変腑鎸夐挳 btnPhoneLogin.TextColor = CSS_Color.PromptingColor1; btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize; @@ -193,7 +252,7 @@ #endregion //閭鍙湁瀵嗙爜鐧诲綍妯″紡 - logintMode = 0; + //logintMode = 0; //瀵嗙爜鐧诲綍 btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin; passwordView.AddChidren(btnVisiblePassword); @@ -201,15 +260,87 @@ passwordView.AddChidren(btnForgetPassword); btnPasswordIcon.IsSelected = false; - if (btnGetVerificationCode.Parent != null) - { - btnGetVerificationCode.RemoveFromParent(); - } + //if (btnGetVerificationCode.Parent != null) + //{ + //btnGetVerificationCode.RemoveFromParent(); + btnGetVerificationCode.Visible = false; + //} //闅愯棌瀵嗙爜 etPassword.SecureTextEntry = true; //闅愯棌楠岃瘉鐮佺櫥褰曟柟寮忥紝閭鐧诲綍娌℃湁楠岃瘉鐮佺櫥褰� btnSwitchLoginMode.Visible = false; + } + } + + /// <summary> + /// 鍒囨崲鐧诲綍绫诲瀷 + /// </summary> + void LoadPage_SwitchLoginType() + { + //閫夋嫨鎵嬫満鐧诲綍 + btnPhoneLogin.MouseUpEventHandler = (sender, e) => + { + LoginTypeChange(true); }; + + //閫夋嫨閭鐧诲綍 + btnEmailLogin.MouseUpEventHandler += (sender, e) => + { + LoginTypeChange(false); + }; + } + + /// <summary> + /// 鍒囨崲鐧诲綍鏂瑰紡 楠岃瘉鐮�/瀵嗙爜 + /// </summary> + void LoginModeChange() + { + //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹� + etPassword.Text = ""; + //瀵嗙爜鐧诲綍 + if (logintMode == 0) + { + btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin; + passwordView.AddChidren(btnVisiblePassword); + passwordView.AddChidren(btnDividingLineVertical_PasswordView2); + etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword); + passwordView.AddChidren(btnForgetPassword); + btnPasswordIcon.IsSelected = false; + //if (btnGetVerificationCode.Parent != null) + //{ + //btnGetVerificationCode.RemoveFromParent(); + btnGetVerificationCode.Visible = false; + //} + //闅愯棌瀵嗙爜 + etPassword.SecureTextEntry = true; + } + //楠岃瘉鐮佺櫥褰� + else if (logintMode == 1) + { + if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11) && btnGetVerificationCode.Text == Language.StringByID(StringId.GetVerificationCode)) + { + btnGetVerificationCode.IsSelected = true; + } + btnSwitchLoginMode.TextID = StringId.PasswordLogin; + //passwordView.AddChidren(btnGetVerificationCode); + btnGetVerificationCode.Visible = true; + etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode); + btnPasswordIcon.IsSelected = true; + if (btnVisiblePassword.Parent != null) + { + btnVisiblePassword.RemoveFromParent(); + } + if (btnDividingLineVertical_PasswordView2.Parent != null) + { + btnDividingLineVertical_PasswordView2.RemoveFromParent(); + } + if (btnForgetPassword.Parent != null) + { + btnForgetPassword.RemoveFromParent(); + } + //楠岃瘉鐮佷笉闇�瑕侀殣钘� + etPassword.SecureTextEntry = false; + } } /// <summary> @@ -218,53 +349,10 @@ /// </summary> void LoadPage_SwitchLoginMode() { - btnSwitchLoginMode.MouseUpEventHandler += (sender, e) => + btnSwitchLoginMode.MouseUpEventHandler = (sender, e) => { logintMode = logintMode == 0 ? 1 : 0; - //娓呴櫎瀵嗙爜妗嗘枃鏈暟鎹� - etPassword.Text = ""; - //瀵嗙爜鐧诲綍 - if (logintMode == 0) - { - btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin; - passwordView.AddChidren(btnVisiblePassword); - passwordView.AddChidren(btnDividingLineVertical_PasswordView2); - etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryPassword); - passwordView.AddChidren(btnForgetPassword); - btnPasswordIcon.IsSelected = false; - if (btnGetVerificationCode.Parent != null) - { - btnGetVerificationCode.RemoveFromParent(); - } - //闅愯棌瀵嗙爜 - etPassword.SecureTextEntry = true; - } - //楠岃瘉鐮佺櫥褰� - else if (logintMode == 1) - { - if (Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11)) - { - btnGetVerificationCode.IsSelected = true; - } - btnSwitchLoginMode.TextID = StringId.PasswordLogin; - passwordView.AddChidren(btnGetVerificationCode); - etPassword.PlaceholderText = Language.StringByID(StringId.PlsEntryVerificationCode); - btnPasswordIcon.IsSelected = true; - if (btnVisiblePassword.Parent != null) - { - btnVisiblePassword.RemoveFromParent(); - } - if (btnDividingLineVertical_PasswordView2.Parent != null) - { - btnDividingLineVertical_PasswordView2.RemoveFromParent(); - } - if (btnForgetPassword.Parent != null) - { - btnForgetPassword.RemoveFromParent(); - } - //楠岃瘉鐮佷笉闇�瑕侀殣钘� - etPassword.SecureTextEntry = false; - } + LoginModeChange(); }; } @@ -274,7 +362,7 @@ void LoadPage_SelectionEditText() { //褰撶劍鐐瑰湪璐﹀彿鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒 - etAccount.FoucsChanged += (sender, e) => + etAccount.FoucsChanged = (sender, e) => { if (etAccount.Foucs) { @@ -286,16 +374,24 @@ btnAccountViewBottomLine.BackgroundColor = CSS_Color.DividingLineColor; btnAccountViewBottomLine.Height = Application.GetRealHeight(1); account = etAccount.Text.Trim(); + if (loginType == 0) + { + registerPhone = account; + } + else + { + registerEmail = account; + } if (account.Length == 0) return; if (loginType == 0) { - if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11)) + if (!Utlis.CheckPhoneNumber(registerPhone, phoneZoneCode)) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); @@ -313,12 +409,12 @@ } else { - if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+")) + if (!Utlis.CheckEmail(registerEmail)) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress), - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); @@ -329,7 +425,7 @@ } }; //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛屾枃鏈搴曠嚎鐐逛寒 - etPassword.FoucsChanged += (sender, e) => + etPassword.FoucsChanged = (sender, e) => { if (etPassword.Foucs) { @@ -351,8 +447,13 @@ //褰撶劍鐐瑰湪瀵嗙爜鏂囨湰妗嗘椂锛岀偣鍑婚敭鐩樺洖鎾ゆ寜閿紝瑙﹀彂鐨勪簨浠� etPassword.EditorEnterAction += (obj) => { - etPassword.Foucs = false; + Application.HideSoftInput(); }; + etPassword.MouseUpEventHandler = (sender, e) => + { + etPassword.Foucs = true; + }; + } /// <summary> @@ -383,17 +484,20 @@ { if (btnLogin.IsSelected) { + //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛� + if (CheckPrivacyPolicy() == false) return; + account = etAccount.Text.Trim(); password = etPassword.Text.Trim(); if (loginType == 0) { - if (!Regex.IsMatch(account, @"^[1]+\d{10}") && (account.Length == 11)) + if (!Utlis.CheckPhoneNumber(account, phoneZoneCode)) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber), - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); @@ -402,12 +506,12 @@ } else { - if (!Regex.IsMatch(account, "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+")) + if (!Utlis.CheckEmail(account)) { var tip = new Tip() { Text = Language.StringByID(StringId.PlsEntryCorrectEmailAddress), - CloseTime = 3, + CloseTime = 1, Direction = AMPopTipDirection.None }; tip.Show(bodyView); @@ -419,19 +523,29 @@ var loginThread = LoadThread_Login(); waitPage = new Loading(); new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); - } }; #region 褰撹处鍙峰瘑鐮侀兘杈撳叆鏃讹紝鎵嶈兘鐐瑰嚮鐧诲綍鎸夐挳 - etAccount.TextChangeEventHandler += (sender, e) => + etAccount.TextChangeEventHandler = (sender, e) => { - if (etAccount.Text.Trim().Length > 0 && etPassword.Text.Trim().Length > 0) + account = etAccount.Text.Trim(); + if (account.Length > 0 && etPassword.Text.Trim().Length > 0) { btnLogin.IsSelected = true; } else { btnLogin.IsSelected = false; + } + if (Regex.IsMatch(account, @"^[1]+\d{10}"))//&& account.Length == 11) + { + btnGetVerificationCode.IsSelected = true; + btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor; + } + else + { + btnGetVerificationCode.IsSelected = false; + btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; } }; etPassword.TextChangeEventHandler += (sender, e) => @@ -457,8 +571,38 @@ { try { + //濡傛灉鏄处鍙峰瘑鐮佺櫥褰曪紝鍏堟鏌ヤ竴娆¤处鍙锋槸鍚︽敞鍐岃繃 + if (logintMode == 0) + { + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + if (result.Code != StateCode.SUCCESS) + { + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + ShowBtnAccountViewBottomLineError(); + return; + } + else + { + //璁剧疆鐢ㄦ埛鎵�娉ㄥ唽鍦板尯鐨勫煙鍚嶏紝鐢ㄦ埛鐩稿叧鎿嶄綔閮界敤杩欎釜鍩熷悕 + CheckAndSetUserRequestHost(result); + } + } + //鐧诲綍 var loginResult = LoadMethod_Login(); + if (!string.IsNullOrEmpty(verAccount))//楠岃瘉鐧诲綍璐﹀彿 + { + Application.RunOnMainThread(() => + { + if (verAccount == etPassword.Text.Trim()) + { + //璺宠浆椤甸潰---- + MainPage.GoUserPage(); + return; + } + }); + } if (loginResult) { //鑾峰彇浣忓畢淇℃伅 @@ -469,11 +613,40 @@ * Wait : 鎺ㄩ�佹敞鍐� */ + /* + * 鏌ョ湅鏈湴鏄惁瀛樺湪鏁版嵁 + * 瀛樺湪鍒欏鍑� + */ + //var isExis = FileUtils.IsExisFolder(DB_ResidenceData.residenceData.CurReginID); + //if (isExis) + //{ + // FileUtils.DeleteAllFile(); + // string regionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID); + // FileUtils.RestoreRegionFiles(regionRootPath); + // DB_ResidenceData.residenceData.EixtAccount(); + // OnAppConfig.Instance.RefreshUserConfig(); + // SpatialInfo.CurrentSpatial.InitRoomFunction(); + //} Application.RunOnMainThread(() => { //璺宠浆椤甸潰---- MainPage.GoUserPage(); }); + } + else + { + BindingResidencePage page = new BindingResidencePage(); + MainPage.BaseView.AddChidren(page); + page.LoadView(); + + + + //2020-11-13 寰呯‘璁� + //鑾峰彇浣忓畢澶辫触锛岄噸鏂版爣璁颁负鏈櫥褰曠姸鎬� + UserInfo.Current.LastTime = DateTime.MinValue; + UserInfo.Current.SaveUserInfo(); + //鐧诲綍澶辫触锛岃鍏堟坊鍔犱綇瀹咃紒 + Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.FailedGetHomeList)); } } } @@ -503,34 +676,50 @@ bool LoadMethod_Login() { var result = false; - ResponsePack loginResult; - if (logintMode == 0) + ResponsePackNew loginResult; + if (logintMode == 0 || loginType == 1) { //璋冪敤鐧诲綍鎺ュ彛 loginResult = pm.LoginByPassword(account, password); } else { - //璋冪敤鐧诲綍鎺ュ彛 + //璋冪敤楠岃瘉鐮佺櫥褰曟帴鍙� loginResult = pm.LoginValidCode(account, password); } - if (loginResult.StateCode.ToUpper() == "SUCCESS") + if (loginResult.Code == StateCode.SUCCESS) { - var loginDataStr = Newtonsoft.Json.Linq.JObject.FromObject(loginResult.ResponseData); - - //璁板綍鐢ㄦ埛鏁版嵁 - MainPage.LoginUser = new UserInfo + var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString()); + // UserInfo.Current = new UserInfo + //{ + // userType = revertData.userType, + // accountString = account, + // password = password, + // lastTime = DateTime.Now, + // ID = revertData.userId, + // loginTokenString = revertData.headerPrefix + revertData.accessToken, + // refreshToken = revertData.refreshToken, + // userName = revertData.name + //}; + if (OnAppConfig.Instance.LastLoginUserId != revertData.userId) { - 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(), - userName = loginDataStr.GetValue("Remark").ToString(), - }; - MainPage.LoginUser.SaveUserInfo(); + OnAppConfig.Instance.LastLoginUserId = revertData.userId; + OnAppConfig.Instance.SaveConfig(); + } + UserInfo.Current.ClearUserInfo(); + UserInfo.Current.userType = revertData.userType; + UserInfo.Current.AccountString = account; + //UserInfo.Current.password = password; + UserInfo.Current.LastTime = DateTime.Now; + UserInfo.Current.ID = revertData.userId; + UserInfo.Current.LoginTokenString = revertData.headerPrefix + revertData.accessToken; + UserInfo.Current.RefreshToken = revertData.refreshToken; + UserInfo.Current.userName = revertData.name; + //UserInfo.Current.userMobileInfo = "";//閲嶇疆鐢ㄦ埛鎵嬫満 + //UserInfo.Current.userEmailInfo = "";//閲嶇疆鐢ㄦ埛閭 + //UserInfo.Current.headImagePagePath = "LoginIcon/2.png";// + //UserInfo.Current.CurrentRegion.RegionID = ""; + UserInfo.Current.SaveUserInfo(); MainPage.Log("鐧诲綍鎴愬姛銆�"); result = true; //鑾峰彇鐢ㄦ埛淇℃伅 @@ -543,53 +732,30 @@ //鐧诲綍澶辫触 else { - string tipStr = "Sever erorr"; - switch (loginResult.StateCode) - { - case "ValidCodeAndPhoneNoEqual": - tipStr = Language.StringByID(StringId.VerificationCodeError); - Application.RunOnMainThread(() => - { - btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - case "USERNAMEORPWDERROR": - tipStr = Language.StringByID(StringId.LoginFailed_AccountOrPasswordError); - Application.RunOnMainThread(() => - { - btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - case "ACCOUNTNOEXISTS": - tipStr = Language.StringByID(StringId.ACCOUNTNOEXISTS); - Application.RunOnMainThread(() => - { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - case "NoRecord": - tipStr = Language.StringByID(StringId.PlsGetTheVerificationCode); - break; - case "Self:Net_Error": - tipStr = Language.StringByID(StringId.NetworkAnomaly); - break; - } //璐﹀彿鎴栬�呭瘑鐮侀敊璇� Application.RunOnMainThread(() => { - waitPage.Hide(); - //鎻愮ず鍘熷洜 - var tip = new Tip() + if (loginResult.Code == "10008") { - Text = tipStr, - CloseTime = 3, - Direction = AMPopTipDirection.None - }; - tip.Show(bodyView); + //鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒 + btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); + } + else if (loginResult.Code == "10010") + { + //鐢ㄦ埛涓嶅瓨鍦� + btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + } + else if (loginResult.Code == StateCode.VERIFICATION_CODE_WRONG) + { + btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); + } + waitPage.Hide(); }); + + IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code); } return result; } @@ -601,32 +767,20 @@ { var result = false; var responsePack = pm.GetHomePager(); - - - if (responsePack == "Success") + if (responsePack == StateCode.SUCCESS) { + ////2020-11-13 寰呯‘璁わ紝娌℃湁浣忓畢锛屼笉绠楃櫥褰曟垚鍔� + //if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0) + //{ + // result = true; + //} + //2020-12-10 娌℃湁浣忓畢鐧诲綍鎴愬姛锛屼絾鏄笉鑳借繘鍏ヤ富鐣岄潰 result = true; } else { - var tipStr = "Server erorr"; - switch (responsePack) - { - case "NoLogin": - tipStr = Language.StringByID(StringId.InvalidLoginCertificate); - break; - } - Application.RunOnMainThread(() => - { - //鎻愮ず鍘熷洜 - var tip = new Tip() - { - Text = tipStr, - CloseTime = 3, - Direction = AMPopTipDirection.None - }; - tip.Show(bodyView); - }); + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(responsePack); } return result; } @@ -638,22 +792,22 @@ { btnRegister.MouseUpEventHandler += (sender, e) => { - //鍥炶皟浜嬩欢 - //Action callBackAction = () => - //{ - // Application.RunOnMainThread(() => - // { - // try - // { - // } - // catch (Exception ex) - // { - // MainPage.Log($"login callBackAction : {ex.Message}"); - // } - // }); - //}; + //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛� + if (CheckPrivacyPolicy() == false) return; - var registerPage = new RegisterPage(); + Action<string, string, bool> autoLoginAction = (account, password, isPhone) => + { + try + { + AutoLoginAction(account, password, isPhone); + } + catch (Exception ex) + { + MainPage.Log($"login callBackAction : {ex.Message}"); + } + }; + + var registerPage = new RegisterPage(autoLoginAction); registerPage.Show(); registerPage.ShowDialog(); }; @@ -666,25 +820,64 @@ { btnForgetPassword.MouseUpEventHandler += (sender, e) => { - Action<string> callBackAction = (callBackPar_Action) => + //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛� + if (CheckPrivacyPolicy() == false) return; + + Action<string, string, bool> autoLoginAction = (account, password, isPhone) => { - Application.RunOnMainThread(() => + + try { - try - { - etAccount.Text = callBackPar_Action; - } - catch (Exception ex) - { - MainPage.Log($"login callBackAction : {ex.Message}"); - } - }); + AutoLoginAction(account, password, isPhone); + } + catch (Exception ex) + { + MainPage.Log($"login callBackAction : {ex.Message}"); + } }; - var forgetPasswordDialog = new ForgetPasswordPage(callBackAction); + var forgetPasswordDialog = new ForgetPasswordPage(autoLoginAction); forgetPasswordDialog.Show(); forgetPasswordDialog.ShowDialog(); }; } + + /// <summary> + /// 鐢ㄦ埛涓嶅瓨鍦� + /// </summary> + void ShowBtnAccountViewBottomLineError() + { + Application.RunOnMainThread(() => + { + //鐢ㄦ埛涓嶅瓨鍦� + btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + }); + } + + /// <summary> + /// 鑷姩鐧诲綍鍥炶皟浜嬩欢 + /// </summary> + /// <param name="mAccount"></param> + /// <param name="mPassword"></param> + /// <param name="isPhone"></param> + void AutoLoginAction(string mAccount, string mPassword, bool isPhone) + { + //鍒囨崲鍥炴墜鏈烘垨鑰呴偖绠辩櫥褰� + LoginTypeChange(isPhone); + //鍒囨崲鍥炲瘑鐮佺櫥褰�1 + logintMode = 0; + //鍒囨崲鍥炲瘑鐮佺櫥褰�2 + LoginModeChange(); + //璁剧疆璐︽埛鍚嶅拰瀵嗙爜 + etAccount.Text = account; + etPassword.Text = password; + this.account = mAccount; + this.password = mPassword; + //鍒涘缓鐧诲綍绾跨▼ + var loginThread = LoadThread_Login(); + waitPage = new Loading(); + new PublicAssmebly().LoadPage_WaitPage(loginThread, bodyView, waitPage); + } } } \ No newline at end of file -- Gitblit v1.8.0