From 4c17caa61bc3b0a05a2b303bccdfedfbf3853f6d Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 24 十一月 2020 15:58:10 +0800 Subject: [PATCH] 2020-11-24 1.优化登录界面失败提示。 --- HDL_ON/UI/UI1-Login/LoginPageBLL.cs | 400 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 248 insertions(+), 152 deletions(-) diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs index 5e78b81..a2ad46f 100644 --- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs +++ b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs @@ -28,6 +28,25 @@ } /// <summary> + /// 妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + /// </summary> + /// <param name="result"></param> + void CheckAndSetUserRequestHost(ResponsePackNew result) + { + try + { + var mGlobalRegionListObj = Newtonsoft.Json.JsonConvert.DeserializeObject<GlobalRegionListRes>(result.Data.ToString()); + if (UserInfo.Current.RequestHttpsHost != mGlobalRegionListObj.regionUrl) + { + UserInfo.Current.RequestHttpsHost = mGlobalRegionListObj.regionUrl; + UserInfo.Current.GlobalRegion = mGlobalRegionListObj; + UserInfo.Current.SaveUserInfo(); + } + } + catch { } + } + + /// <summary> /// 鐐瑰嚮鎸夐挳鑾峰彇楠岃瘉鐮� /// </summary> void GetVerificationCode() @@ -51,7 +70,7 @@ 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() { @@ -65,82 +84,141 @@ btnAccountViewBottomLine.Height = Application.GetRealHeight(2); return; } - btnGetVerificationCode.IsSelected = false ; - btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; + int time = 60; new Thread(() => { - while (time > 0) + //1.鍏堟鏌ヨ处鍙锋槸鍚︽敞鍐岃繃 + var result = pm.GetRegionByAccount(account); + if (result.Code != StateCode.SUCCESS) { - time--; - Application.RunOnMainThread(() => - { - btnGetVerificationCode.Text = time.ToString() + "s"; - }); - Thread.Sleep(1000); + IMessageCommon.Current.ShowErrorInfoAlter(result.Code); + ShowBtnAccountViewBottomLineError(); + return; } - Application.RunOnMainThread(() => - { - btnGetVerificationCode.IsSelected = true; - btnGetVerificationCode.TextID = StringId.GetVerificationCode; - }); - }) - { IsBackground = true }.Start(); - new Thread(() => - { - //鑾峰彇楠岃瘉鐮� - var result = pm.GetLoginVerCode(phoneNumber); - if (result.StateCode.ToUpper() == HttpUtil.SUCCESS_CODE) - { - } - //鐧诲綍澶辫触 else { - string tipStr = "Sever erorr"; - switch (result.StateCode.ToUpper()) - { - 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 "SENDFAIL": - tipStr = Language.StringByID(StringId.FailedToSendVerificationCode); - Application.RunOnMainThread(() => - { - btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; - btnAccountViewBottomLine.Height = Application.GetRealHeight(2); - }); - break; - case "Self:Net_Error": - tipStr = Language.StringByID(StringId.NetworkAnomaly); - break; - } + //妫�娴嬪綋鍓嶉厤缃煙鍚嶆槸鍚︿竴鑷达紝涓嶄竴鑷村垯鏇挎崲 + CheckAndSetUserRequestHost(result); + // Application.RunOnMainThread(() => { - //鎻愮ず鍘熷洜 - var tip = new Tip() - { - Text = tipStr, - CloseTime = 1, - Direction = AMPopTipDirection.None - }; - tip.Show(bodyView); + btnGetVerificationCode.IsSelected = false; + btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; }); + new Thread(() => + { + 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(); + + //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); + }); + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(resultObj.Code); + } } + }) { IsBackground = true }.Start(); + + // btnGetVerificationCode.IsSelected = false ; + // btnGetVerificationCode.TextColor = CSS_Color.PromptingColor1; + // int time = 60; + // new Thread(() => + // { + // 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(); + // new Thread(() => + // { + // //鑾峰彇楠岃瘉鐮� + // var result = pm.GetLoginVerCode(phoneNumber); + // if (result.StateCode.ToUpper() == StateCode.SUCCESS_CODE) + // { + // } + // //鐧诲綍澶辫触 + // else + // { + // string tipStr = "Sever erorr"; + // switch (result.StateCode.ToUpper()) + // { + // 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 "SENDFAIL": + // tipStr = Language.StringByID(StringId.FailedToSendVerificationCode); + // Application.RunOnMainThread(() => + // { + // btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + // btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + // }); + // 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); + // }); + // } + // }) + // { IsBackground = true }.Start(); } }; } @@ -242,8 +320,8 @@ //if (btnGetVerificationCode.Parent != null) //{ - //btnGetVerificationCode.RemoveFromParent(); - btnGetVerificationCode.Visible = false; + //btnGetVerificationCode.RemoveFromParent(); + btnGetVerificationCode.Visible = false; //} //闅愯棌瀵嗙爜 etPassword.SecureTextEntry = true; @@ -274,8 +352,8 @@ btnPasswordIcon.IsSelected = false; //if (btnGetVerificationCode.Parent != null) //{ - //btnGetVerificationCode.RemoveFromParent(); - btnGetVerificationCode.Visible = false; + //btnGetVerificationCode.RemoveFromParent(); + btnGetVerificationCode.Visible = false; //} //闅愯棌瀵嗙爜 etPassword.SecureTextEntry = true; @@ -340,7 +418,7 @@ return; if (loginType == 0) { - if (!Regex.IsMatch(account, @"^[1]+\d{10}") || (account.Length != 11)) + if (!Utlis.CheckPhoneNumber(registerPhone, phoneZoneCode)) { var tip = new Tip() { @@ -363,7 +441,7 @@ } 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() { @@ -438,12 +516,15 @@ { 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() { @@ -457,7 +538,7 @@ } 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() { @@ -488,7 +569,7 @@ { btnLogin.IsSelected = false; } - if (Regex.IsMatch(account, @"^[1]+\d{10}") )//&& account.Length == 11) + if (Regex.IsMatch(account, @"^[1]+\d{10}"))//&& account.Length == 11) { btnGetVerificationCode.IsSelected = true; btnGetVerificationCode.TextColor = CSS_Color.MainBackgroundColor; @@ -522,9 +603,27 @@ { 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))//楠岃瘉鐧诲綍璐﹀彿 + if (!string.IsNullOrEmpty(verAccount))//楠岃瘉鐧诲綍璐﹀彿 { Application.RunOnMainThread(() => { @@ -560,7 +659,7 @@ OnAppConfig.Instance.RefreshUserConfig(); DB_ResidenceData.InitRoomFunction(); } - if (MainPage.LoginUser.userEmailInfo == "464027401@qq.com") + if (UserInfo.Current.userEmailInfo == "464027401@qq.com") { DB_ResidenceData.residenceData.floors.Add(new Floor() { name = "1F", sid = "09888" }); var r111 = new Room() { sid = "0001", name = "Room-1", floorId = "09888", backgroundImage = "Classification/Room/Roombg.png" }; @@ -831,6 +930,15 @@ MainPage.GoUserPage(); }); } + else + { + //2020-11-13 寰呯‘璁� + //鑾峰彇浣忓畢澶辫触锛岄噸鏂版爣璁颁负鏈櫥褰曠姸鎬� + UserInfo.Current.lastTime = DateTime.MinValue; + UserInfo.Current.SaveUserInfo(); + //鐧诲綍澶辫触锛岃鍏堟坊鍔犱綇瀹咃紒 + Utlis.ShowAlertOnMainThread(Language.StringByID(StringId.FailedGetHomeList)); + } } } catch (Exception ex) @@ -870,21 +978,29 @@ //璋冪敤楠岃瘉鐮佺櫥褰曟帴鍙� loginResult = pm.LoginValidCode(account, password); } - if (loginResult.Code == HttpUtil.SUCCESS_CODE) + if (loginResult.Code == StateCode.SUCCESS) { var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<UserLoginRes>(loginResult.Data.ToString()); - MainPage.LoginUser = 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 - }; - MainPage.LoginUser.SaveUserInfo(); + // 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 + //}; + 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.SaveUserInfo(); MainPage.Log("鐧诲綍鎴愬姛銆�"); result = true; //鑾峰彇鐢ㄦ埛淇℃伅 @@ -897,54 +1013,30 @@ //鐧诲綍澶辫触 else { - //2020-11-12 寰呬慨鏀� - string tipStr = "Sever erorr"; - switch (loginResult.Code) - { - 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 = 1, - 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 == "14") + { + btnPasswordViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnPasswordViewBottomLine.Height = Application.GetRealHeight(2); + } + waitPage.Hide(); }); + + IMessageCommon.Current.ShowErrorInfoAlter(loginResult.Code); } return result; } @@ -956,31 +1048,19 @@ { var result = false; var responsePack = pm.GetHomePager(); - - if (responsePack == HttpUtil.SUCCESS_CODE) + if (responsePack == StateCode.SUCCESS) { - result = true; + //2020-11-13 寰呯‘璁わ紝娌℃湁浣忓畢锛屼笉绠楃櫥褰曟垚鍔� + if (UserInfo.Current.regionList != null && UserInfo.Current.regionList.Count > 0) + { + result = true; + } + //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 = 1, - Direction = AMPopTipDirection.None - }; - tip.Show(bodyView); - }); + // 鎻愮ず閿欒 + IMessageCommon.Current.ShowErrorInfoAlter(responsePack); } return result; } @@ -1006,6 +1086,9 @@ // } // }); //}; + + //鍒ゆ柇鏄惁鍚屾剰浜嗛殣绉佹斂绛� + if (CheckPrivacyPolicy() == false) return; var registerPage = new RegisterPage(); registerPage.Show(); @@ -1040,5 +1123,18 @@ }; } + + /// <summary> + /// 鐢ㄦ埛涓嶅瓨鍦� + /// </summary> + void ShowBtnAccountViewBottomLineError() + { + Application.RunOnMainThread(() => + { + //鐢ㄦ埛涓嶅瓨鍦� + btnAccountViewBottomLine.BackgroundColor = CSS_Color.AuxiliaryColor2; + btnAccountViewBottomLine.Height = Application.GetRealHeight(2); + }); + } } } \ No newline at end of file -- Gitblit v1.8.0