From bba578c2f0acf2eca747edcb69426771e0cadd32 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 23 三月 2020 18:20:50 +0800
Subject: [PATCH] 2020-03-23-3
---
ZigbeeApp/Shared/Phone/Login/AccountLogin.cs | 329 +++++++++++++++++++++++++++++-------------------------
1 files changed, 177 insertions(+), 152 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs b/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs
index 8027fc8..bf17f89 100644
--- a/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs
+++ b/ZigbeeApp/Shared/Phone/Login/AccountLogin.cs
@@ -28,9 +28,13 @@
/// </summary>
private EmailLoginRowForm emailRow;
/// <summary>
- /// pwdRow
+ /// phonePwdRow
/// </summary>
- private PwdLoginRowForm pwdRow;
+ private PwdLoginRowForm phonePwdRow;
+ /// <summary>
+ /// emailPwdRow
+ /// </summary>
+ private PwdLoginRowForm emailPwdRow;
/// <summary>
/// 璐﹀彿瀵嗙爜fl
@@ -57,14 +61,6 @@
/// </summary>
private Button registerBtn;
/// <summary>
- /// 璐﹀彿
- /// </summary>
- private string account;
- /// <summary>
- /// 瀵嗙爜
- /// </summary>
- private string password;
- /// <summary>
/// wechat
/// </summary>
private Button wechatBtn;
@@ -72,7 +68,10 @@
/// qq
/// </summary>
private Button qqBtn;
-
+ /// <summary>
+ /// 杈撳叆鐨勭櫥闄嗚处鍙�(閲嶆柊鐧婚檰鏃朵娇鐢�)
+ /// </summary>
+ private string oldInputAccount = string.Empty;
#endregion
@@ -110,7 +109,7 @@
}
else
{
- LoginViewShow(account, password);
+ LoginViewShow(account);
}
}
@@ -118,11 +117,12 @@
/// Logins the view show.
/// </summary>
/// <param name="account">Account.</param>
- /// <param name="password">Password.</param>
- public void LoginViewShow(string account = "", string password = "")
+ public void LoginViewShow(string account = "")
{
- this.account = account;
- this.password = password;
+ //璁剧疆涓�涓嬪垵濮嬪��
+ if (account.Contains("@") == true) { this.oldInputAccount = account; }
+ else { this.oldInputAccount = account; }
+
#region midFrameLayout
midFrameLayout = new FrameLayout()
{
@@ -229,8 +229,7 @@
SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonBlackSelectedColor,
BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor,
Radius = (uint)Application.GetRealHeight(127 / 2),
- Enable = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
- IsSelected = !string.IsNullOrEmpty(pwdRow.PasswrodET?.Text),
+ Enable = false,
IsBold=true
};
midFrameLayout.AddChidren(loginBtn);
@@ -286,14 +285,9 @@
BindEvent();
- if (string.IsNullOrEmpty(account) == false && AccountLogic.Instance.CheckEmail(account) == true)
+ if (account.Contains("@") == true)
{
SelectPhoneOrEmail_MouseUpEvent(phoneEmailForm.SelectedEmail, null);
- this.account = string.Empty;
- }
- else
- {
- this.account = string.Empty;
}
}
@@ -336,11 +330,11 @@
{
if (phoneEmailForm.SelectedPhone.IsSelected)
{
- Login(phoneRow.AccountET.Text.Trim(), pwdRow.PasswrodET.Text.Trim());
+ Login(phoneRow.AccountET.Text.Trim(), phonePwdRow.PasswrodET.Text.Trim());
}
else
{
- Login(emailRow.AccountET.Text.Trim(), pwdRow.PasswrodET.Text.Trim());
+ Login(emailRow.AccountET.Text.Trim(), emailPwdRow.PasswrodET.Text.Trim());
}
}
@@ -351,124 +345,124 @@
/// <param name="accountStr">Account.</param>
/// <param name="passwordStr">Password.</param>
private void Login(string accountStr, string passwordStr)
- {
+ {
//Application.RunOnMainThread( () =>
//{
Action action = async () =>
{
try
{
- if(CheckAccount(accountStr)==false)
- {
- return;
- }
-
+ if(CheckAccount(accountStr)==false)
+ {
+ return;
+ }
+
CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
- var requestObj = new SendDataToServer.LoginObj
- {
- Account = accountStr,
- Password = passwordStr,
- Source = CommonPage.Source,
- Company = CommonPage.Company
- };
- var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
- var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
- if (revertObj == null)
- {
- CommonPage.Instance.FailureToServer();
- CommonPage.Loading.Hide();
- return;
- }
- var stateCodeStr = revertObj.StateCode.ToUpper();
- //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇
- if (stateCodeStr == "SUCCESS")
- {
- if (revertObj.ResponseData == null)
- {
- return;
- }
-
+ var requestObj = new SendDataToServer.LoginObj
+ {
+ Account = accountStr,
+ Password = passwordStr,
+ Source = CommonPage.Source,
+ Company = CommonPage.Company
+ };
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
+ var revertObj = await CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson));
+ if (revertObj == null)
+ {
+ CommonPage.Instance.FailureToServer();
+ CommonPage.Loading.Hide();
+ return;
+ }
+ var stateCodeStr = revertObj.StateCode.ToUpper();
+ //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇
+ if (stateCodeStr == "SUCCESS")
+ {
+ if (revertObj.ResponseData == null)
+ {
+ return;
+ }
+
HomePage.Instance.ShowLoginLoadView();
- new System.Threading.Thread(async () =>
- {
- //瀛樺偍鏁版嵁
- var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
- var revertData = responseDataObj;
- Config.ReFresh();
- Config.Instance.Account = revertData.Account;
+ new System.Threading.Thread(async () =>
+ {
+ //瀛樺偍鏁版嵁
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
+ var revertData = responseDataObj;
+ Config.ReFresh();
+ Config.Instance.Account = revertData.Account;
Config.Instance.Password = passwordStr;
Config.Instance.MD5PWD = revertData.MD5PWD;
- Config.Instance.Guid = revertData.Guid;
- Config.Instance.LoginDateTime = DateTime.Now;
- Config.Instance.LoginToken = revertData.Token;
- if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
- {
- Config.Instance.AccountList.Add(revertData.Account);
- }
- Config.Instance.Save();
-
- var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
- var homes = await House.GetHomeLists();
- //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+ Config.Instance.Guid = revertData.Guid;
+ Config.Instance.LoginDateTime = DateTime.Now;
+ Config.Instance.LoginToken = revertData.Token;
+ if (Config.Instance.AccountList.Find((obj) => obj == revertData.Account) == null)
+ {
+ Config.Instance.AccountList.Add(revertData.Account);
+ }
+ Config.Instance.Save();
+
+ var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
+ var homes = await House.GetHomeLists();
+ //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
//鍚姩ZigBee
- ZigBee.Common.Application.Init();
-
- UserCenter.HdlRoomLogic.Current.InitAllRoom();
- Application.RunOnMainThread(() =>
- {
- CommonPage.Loading.Hide();
- this.RemoveFromParent();
+ ZigBee.Common.Application.Init();
+
+ UserCenter.HdlRoomLogic.Current.InitAllRoom();
+ Application.RunOnMainThread(() =>
+ {
+ CommonPage.Loading.Hide();
+ this.RemoveFromParent();
CommonPage.Instance.RemoveViewByTag("Login");
- UserPage.Instance.Fresh();
- });
- })
- { IsBackground = true }.Start();
+ UserPage.Instance.Fresh();
+ });
+ })
+ { IsBackground = true }.Start();
+ }
+ else if (stateCodeStr == "NOTVERIFY")
+ {
+ CommonPage.Loading.Hide();
+ //鏈縺娲�
+ loginErrorBtn.TextID = R.MyInternationalizationString.NOTVERIFY;
+ }
+ else if (stateCodeStr == "NOTENABLE")
+ {
+ CommonPage.Loading.Hide();
+ //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤
+ loginErrorBtn.TextID = R.MyInternationalizationString.NOTENABLE;
+ }
+ else if (stateCodeStr == "USERNAMEORPWDERROR")
+ {
+ CommonPage.Loading.Hide();
+ //璐﹀彿鎴栧瘑鐮侀敊璇�
+ loginErrorBtn.TextID = R.MyInternationalizationString.USERNAMEORPWDERROR;
+ }
+ else if (stateCodeStr == "ACCOUNTNOEXISTS")
+ {
+ CommonPage.Loading.Hide();
+ //璐﹀彿涓嶅瓨鍦�
+ loginErrorBtn.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS;
+ }
+ else if (stateCodeStr == "YOUDATANOISLOCALREGION")
+ {
+ CommonPage.Loading.Hide();
+ //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
+ if (revertObj.ResponseData == null)
+ {
+ return;
+ }
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString());
+ CommonPage.RequestHttpsHost = responseDataObj.RegionServer;
+ //鍐嶆鐧诲綍
+ Login(accountStr, passwordStr);
+ }
+ else
+ {
+ loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
}
- else if (stateCodeStr == "NOTVERIFY")
- {
- CommonPage.Loading.Hide();
- //鏈縺娲�
- loginErrorBtn.TextID = R.MyInternationalizationString.NOTVERIFY;
- }
- else if (stateCodeStr == "NOTENABLE")
- {
- CommonPage.Loading.Hide();
- //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤
- loginErrorBtn.TextID = R.MyInternationalizationString.NOTENABLE;
- }
- else if (stateCodeStr == "USERNAMEORPWDERROR")
- {
- CommonPage.Loading.Hide();
- //璐﹀彿鎴栧瘑鐮侀敊璇�
- loginErrorBtn.TextID = R.MyInternationalizationString.USERNAMEORPWDERROR;
- }
- else if (stateCodeStr == "ACCOUNTNOEXISTS")
- {
- CommonPage.Loading.Hide();
- //璐﹀彿涓嶅瓨鍦�
- loginErrorBtn.TextID = R.MyInternationalizationString.ACCOUNTNOEXISTS;
- }
- else if (stateCodeStr == "YOUDATANOISLOCALREGION")
- {
- CommonPage.Loading.Hide();
- //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
- if (revertObj.ResponseData == null)
- {
- return;
- }
- var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString());
- CommonPage.RequestHttpsHost = responseDataObj.RegionServer;
- //鍐嶆鐧诲綍
- Login(accountStr, passwordStr);
- }
- else
- {
- loginErrorBtn.TextID = R.MyInternationalizationString.RequestServerFailed;
- }
- }
+ }
catch (Exception ex)
{
System.Console.WriteLine($"鐧诲綍澶辫触--{ex.Message}");
@@ -550,14 +544,14 @@
else
{
new System.Threading.Thread(async () =>
- {
+ {
var re = await isBindAuthAsync(authStr);
if (re)
{
- Application.RunOnMainThread(() =>
+ Application.RunOnMainThread(() =>
{
//鐩存帴鐧诲綍
- HomePage.Instance.ShowLoginLoadView();
+ HomePage.Instance.ShowLoginLoadView();
});
var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
var homes = await House.GetHomeLists();
@@ -738,24 +732,56 @@
/// <param name="phoneOrEmail"></param>
private void AddPhoneOrEmailFL(FrameLayout accountPwdFrameLayout,string phoneOrEmail)
{
- accountPwdFrameLayout.RemoveAll();
-
if (phoneOrEmail == "Phone")
{
+ if (phoneRow != null)
+ {
+ phoneRow.Visible = true;
+ phonePwdRow.Visible = true;
+ if (emailRow != null)
+ {
+ emailRow.Visible = false;
+ emailPwdRow.Visible = false;
+ }
+ this.Pwd_TextChange(phonePwdRow);
+ return;
+ }
phoneRow = new PhoneLoginRowForm();
- phoneRow.Init(accountPwdFrameLayout, this, this.account, 29, 29);
- phoneRow.AccountET.TextChangeEventHandler += Account_TextChange;
+ phoneRow.Init(accountPwdFrameLayout, this, this.oldInputAccount, 29, 29);
+ phoneRow.AccountET.TextChangeEventHandler += Account_TextChange;
+
+ phonePwdRow = new PwdLoginRowForm();
+ phonePwdRow.Init(accountPwdFrameLayout, 29, 225);
+ phonePwdRow.PasswrodET.TextChangeEventHandler += (sender, e) =>
+ {
+ this.Pwd_TextChange(phonePwdRow);
+ };
}
else
{
+ if (emailRow != null)
+ {
+ emailRow.Visible = true;
+ emailPwdRow.Visible = true;
+ if (phoneRow != null)
+ {
+ phoneRow.Visible = false;
+ phonePwdRow.Visible = false;
+ }
+ this.Pwd_TextChange(emailPwdRow);
+ return;
+ }
emailRow = new EmailLoginRowForm();
- emailRow.Init(accountPwdFrameLayout, this.account, 29, 29);
- emailRow.AccountET.TextChangeEventHandler += Account_TextChange;
+ emailRow.Init(accountPwdFrameLayout, this.oldInputAccount, 29, 29);
+ emailRow.AccountET.TextChangeEventHandler += Account_TextChange;
+
+ emailPwdRow = new PwdLoginRowForm();
+ emailPwdRow.Init(accountPwdFrameLayout, 29, 225);
+ emailPwdRow.PasswrodET.TextChangeEventHandler += (sender, e) =>
+ {
+ this.Pwd_TextChange(emailPwdRow);
+ };
}
-
- pwdRow = new PwdLoginRowForm();
- pwdRow.Init(accountPwdFrameLayout, 29, 225);
- pwdRow.PasswrodET.TextChangeEventHandler += Pwd_TextChange;
}
#endregion
@@ -803,23 +829,22 @@
/// <summary>
/// 瀵嗙爜鐩戝惉浜嬩欢
/// </summary>
- /// <param name="sender">Sender.</param>
- /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
- private void Pwd_TextChange(object sender,string mouseEventArgs)
+ /// <param name="pwdRow">Sender.</param>
+ private void Pwd_TextChange(PwdLoginRowForm pwdRow)
{
loginErrorBtn.Text = string.Empty;
- if (1 <= pwdRow.PasswrodET.Text.Trim().Length && pwdRow.PasswrodET.Text.Trim().Length <= 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length>0))
+ string pswText = pwdRow.PasswrodET.Text.Trim();
+ if (1 <= pswText.Length && pswText.Length <= 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length>0))
{
loginBtn.Enable = loginBtn.IsSelected = true;
}
- else if (pwdRow.PasswrodET.Text.Trim().Length > 16)
+ else if (pswText.Length > 16)
{
- pwdRow.PasswrodET.Text = mouseEventArgs.Remove(16);
- }
- else if (pwdRow.PasswrodET.Text.Trim().Length > 16 && (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length > 0))
- {
- loginBtn.Enable = loginBtn.IsSelected = true;
- pwdRow.PasswrodET.Text = mouseEventArgs.Remove(16);
+ pwdRow.PasswrodET.Text = pswText.Substring(0, 16);
+ if (phoneRow.AccountET.Text.Trim().Length > 0 || emailRow?.AccountET.Text.Trim().Length > 0)
+ {
+ loginBtn.Enable = loginBtn.IsSelected = true;
+ }
}
else
{
--
Gitblit v1.8.0