From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 01 十二月 2022 09:56:25 +0800
Subject: [PATCH] 2022年12月01日09:56:23
---
ZigbeeApp/Shared/Phone/UserView/HomePage.cs | 94 +++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 87 insertions(+), 7 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
index d1f02f8..7072a40 100755
--- a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
@@ -50,24 +50,25 @@
};
//鐩存帴鐧诲綍
- if (Config.Instance.CanAutoLogin)
+ if (Config.Instance.IsLogin)
{
//鏄剧ず鍚姩椤�
CommonPage.Loading.Start();
- HdlThreadLogic.Current.RunThread(() =>
+ UserCenter.HdlThreadLogic.Current.RunThread(() =>
{
//鐧诲綍
- var loginSuccess = HdlAccountLogic.Current.AutoLoginByRefreshToken();
+ var loginSuccess = LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password);
//鐧诲綍鎴愬姛,鎴栬�呮病鏈夌綉缁滈兘鍙互鐧诲綍
- if (loginSuccess == AccountStatu.Sucess || loginSuccess == AccountStatu.NotNetWork)
+ if (loginSuccess == 1 || loginSuccess == 2)
{
+ var homes = UserCenter.HdlResidenceLogic.Current.GetHomeListsFromDb(true);
//鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
- bool result = HdlUserCenterLogic.Current.InitUserCenterMenmoryAndThread(true);
+ bool result = UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
//鍚姩ZigBee
ZigBee.Common.Application.Init();
- HdlThreadLogic.Current.RunMain(() =>
+ UserCenter.HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Instance.RemoveViewByTag("Login");
CommonPage.Loading.Hide();
@@ -84,7 +85,7 @@
Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
Config.Instance.Save();
- HdlThreadLogic.Current.RunMain(() =>
+ UserCenter.HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
CommonPage.Instance.RemoveViewByTag("Login");
@@ -104,5 +105,84 @@
accountLogin.ShowForm();
}
}
+
+ /// <summary>
+ /// 1:鐧诲綍鎴愬姛 0:瀵嗙爜閿欒 -1:鍏朵粬寮傚父 2:鏃犳硶鑱旂綉
+ /// </summary>
+ /// <returns>The by PWDA sync.</returns>
+ /// <param name="account">Account.</param>
+ /// <param name="password">Password.</param>
+ /// <param name="source">Source.</param>
+ /// <param name="company">Company.</param>
+ public int LoginByPWDAsync(string account, string password, string source = "", int company = 0)
+ {
+ var isLoginSuccess = -1;
+ var requestObj = new SendDataToServer.LoginObj
+ {
+ Account = account,
+ Password = password
+ };
+ var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(requestObj);
+ //鐧婚檰鎺ュ彛鐗规畩,闇�瑕佸揩涓�鐐硅闂�,璁剧疆3绉掕秴鏃�
+ var revertObj = CommonPage.Instance.RequestHttpsZigbeeAsync("ZigbeeUsers/Login", System.Text.Encoding.UTF8.GetBytes(requestJson), 3);
+ if (revertObj == null)
+ {
+ return 2;
+ }
+ var stateCodeStr = revertObj.StateCode.ToUpper();
+ //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇
+ if (stateCodeStr == "SUCCESS")
+ {
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginRes>(revertObj.ResponseData.ToString());
+ var revertData = responseDataObj;
+ //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄�
+ Config.Instance.TheSameLoginAccount = Config.Instance.Guid == revertData.Guid;
+ Config.Instance.Account = revertData.Account;
+ Config.Instance.Password = password;
+ Config.Instance.MD5PWD = revertData.MD5PWD;
+ Config.Instance.Guid = revertData.Guid;
+ Config.Instance.LoginDateTime = DateTime.Now;
+ Config.Instance.LoginToken = revertData.Token;
+ //涓婃姤璁惧ID
+ CommonPage.Instance.PushRegID();
+ isLoginSuccess = 1;
+ }
+ else if (stateCodeStr == "YOUDATANOISLOCALREGION")
+ {
+ //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
+ var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString());
+ CommonPage.RequestHttpsHost = responseDataObj.RegionServer;
+ //鍐嶆鐧诲綍
+ return this.LoginByPWDAsync(account, password, source, company);
+ }
+ if (stateCodeStr == "NOTVERIFY")
+ {
+ //鏈縺娲�
+ }
+ else if (stateCodeStr == "NOTENABLE")
+ {
+ //璇ョ敤鎴峰睘浜庤皟璇曡处鍙凤紝骞舵湭鍚敤
+ }
+ else if (stateCodeStr == "PARAMETEROREMPTY")
+ {
+ //鎻愪緵鐨勫弬鏁伴敊璇�
+ }
+ else if (stateCodeStr == "USERNAMEORPWDERROR")
+ {
+ //璐﹀彿鎴栧瘑鐮侀敊璇�
+ isLoginSuccess = 0;
+ }
+ else if (stateCodeStr == "ACCOUNTNOEXISTS")
+ {
+ //璐﹀彿涓嶅瓨鍦�
+ isLoginSuccess = 0;
+ }
+ else if (stateCodeStr == "BERESTRICT")
+ {
+ //姝よ处鍙锋棤鏉冪櫥褰�
+ isLoginSuccess = 0;
+ }
+ return isLoginSuccess;
+ }
}
}
--
Gitblit v1.8.0