From b69d7735274b8d0f741da8a6bb8b8e1347477a5a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 19 三月 2020 17:14:16 +0800
Subject: [PATCH] 20200319
---
HDL_ON/UI/UI1-Login/LoginPageBLL.cs | 349 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 239 insertions(+), 110 deletions(-)
diff --git a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs b/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
index d788099..9653896 100644
--- a/HDL_ON/UI/UI1-Login/LoginPageBLL.cs
+++ b/HDL_ON/UI/UI1-Login/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 = StringId.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);
}
};
}
@@ -75,7 +75,7 @@
btnEmailLogin.TextSize = CSS_FontSize.TextFontSize;
btnPhoneLogin.TextColor = CSS_Color.MainColor;
btnPhoneLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
- etAccount.PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryCorrectMobilNeumber);
+ etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryCorrectMobilNeumber);
#endregion
#region 鍒囨崲鐧诲綍鏂瑰紡鍙婂浘鏍�
@@ -98,7 +98,7 @@
btnPhoneLogin.TextSize = CSS_FontSize.TextFontSize;
btnEmailLogin.TextColor = CSS_Color.MainColor;
btnEmailLogin.TextSize = CSS_FontSize.EmphasisFontSize_Secondary;
- etAccount.PlaceholderText = Language.StringByID(R.InternationalizationString.PlsEntryEmailAddress);
+ etAccount.PlaceholderText = Language.StringByID(StringId.PlsEntryEmailAddress);
#endregion
#region 鍒囨崲鐧诲綍绫诲瀷鍙婂浘鏍�
@@ -113,7 +113,7 @@
//閭鍙湁瀵嗙爜鐧诲綍妯″紡
logintMode = 0;
//瀵嗙爜鐧诲綍
- btnSwitchLoginMode.TextID = R.InternationalizationString.VerificationCodeLogin;
+ btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
passwordView.AddChidren(btnVisiblePassword);
passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
passwordView.AddChidren(btnForgetPassword);
@@ -144,7 +144,7 @@
//瀵嗙爜鐧诲綍
if (logintMode == 0)
{
- btnSwitchLoginMode.TextID = R.InternationalizationString.VerificationCodeLogin;
+ btnSwitchLoginMode.TextID = StringId.VerificationCodeLogin;
passwordView.AddChidren(btnVisiblePassword);
passwordView.AddChidren(btnDividingLineVertical_PasswordView2);
passwordView.AddChidren(btnForgetPassword);
@@ -159,7 +159,7 @@
//楠岃瘉鐮佺櫥褰�
else if (logintMode == 1)
{
- btnSwitchLoginMode.TextID = R.InternationalizationString.PasswordLogin;
+ btnSwitchLoginMode.TextID = StringId.PasswordLogin;
passwordView.AddChidren(btnGetVerificationCode);
btnPasswordIcon.IsSelected = true;
if (btnVisiblePassword.Parent != null)
@@ -248,7 +248,7 @@
/// <summary>
/// 鐧诲綍鎸夐挳鐐瑰嚮浜嬩欢
/// </summary>
- void LoadMethod_LoginMethod()
+ void LoadEvent_Login()
{
btnLogin.MouseUpEventHandler += (sender, e) =>
{
@@ -256,9 +256,41 @@
{
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(StringId.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(StringId.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);
+
}
};
#region 褰撹处鍙峰瘑鐮侀兘杈撳叆鏃讹紝鎵嶈兘鐐瑰嚮鐧诲綍鎸夐挳
@@ -288,88 +320,35 @@
}
/// <summary>
- /// 鍔犺浇绛夊緟鐣岄潰
- /// </summary>
- void LoadPage_WaitPage(Thread thread)
- {
- waitPage = new Loading();
- bodyView.AddChidren(waitPage);
- waitPage.Start(Language.StringByID(R.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("鐧诲綍鎴愬姛銆�");
+ /*
+ * 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;
+
+ //璺宠浆椤甸潰----
+ MainPage.GoUserPage();
+ });
+ }
}
}
catch (Exception ex)
@@ -380,23 +359,145 @@
{ 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(StringId.LoginFailed_AccountOrPasswordError);
+ break;
+ case "Self:Net_Error":
+ tipStr = Language.StringByID(StringId.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.CurrentRegion = MainPage.LoginUser.HomeLists[0];
+ UserConfig.Instance.SaveUserConfig();
+ MainPage.LoginUser.SaveUserInfo();
+ }
+ result = true;
+ }
+ else
+ {
+ var tipStr = "Server erorr";
+ switch (responsePack.StateCode)
+ {
+ case "NoLogin":
+ tipStr = Language.StringByID(StringId.InvalidLoginCertificate);
+ break;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ //鎻愮ず鍘熷洜
+ var tip = new Tip()
+ {
+ Text = tipStr,
+ CloseTime = 3,
+ Direction = AMPopTipDirection.None
+ };
+ tip.Show(bodyView);
+ });
+
+ }
+ return result;
+ }
/// <summary>
/// 鍔犺浇娉ㄥ唽鐣岄潰
/// </summary>
void LoadPage_RegisterPage()
{
- btnRegister.MouseUpEventHandler += (sender, e) => {
+ btnRegister.MouseUpEventHandler += (sender, e) =>
+ {
//鍥炶皟浜嬩欢
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);
@@ -404,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