From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserView/HomePage.cs |  121 +++++++++-------------------------------
 1 files changed, 27 insertions(+), 94 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
index cfe69a0..d1f02f8 100755
--- a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
@@ -50,30 +50,48 @@
             };
 
             //鐩存帴鐧诲綍
-            if (Config.Instance.IsLogin)
+            if (Config.Instance.CanAutoLogin)
             {
                 //鏄剧ず鍚姩椤�
-                this.ShowLoginLoadView();
                 CommonPage.Loading.Start();
 
-                UserCenter.HdlThreadLogic.Current.RunThread(async () =>
+                HdlThreadLogic.Current.RunThread(() =>
                 {
                     //鐧诲綍
-                    var loginSuccess = await LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password);
+                    var loginSuccess = HdlAccountLogic.Current.AutoLoginByRefreshToken();
                     //鐧诲綍鎴愬姛,鎴栬�呮病鏈夌綉缁滈兘鍙互鐧诲綍
-                    if (loginSuccess == 1 || loginSuccess == 2)
+                    if (loginSuccess == AccountStatu.Sucess || loginSuccess == AccountStatu.NotNetWork)
                     {
-                        var homes = await House.GetHomeLists();
                         //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-                        await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+                        bool result = HdlUserCenterLogic.Current.InitUserCenterMenmoryAndThread(true);
                         //鍚姩ZigBee
                         ZigBee.Common.Application.Init();
 
-                        UserCenter.HdlThreadLogic.Current.RunMain(() =>
+                        HdlThreadLogic.Current.RunMain(() =>
                         {
                             CommonPage.Instance.RemoveViewByTag("Login");
-                            UserPage.Instance.Fresh();
                             CommonPage.Loading.Hide();
+                            if (result == true)
+                            {
+                                //false:寮�鍚簡璋冭瘯鍔熻兘
+                                UserPage.Instance.ReFreshControl();
+                            }
+                        });
+                    }
+                    else
+                    {
+                        //璁惧畾涓�涓椂闂�
+                        Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
+                        Config.Instance.Save();
+
+                        HdlThreadLogic.Current.RunMain(() =>
+                        {
+                            CommonPage.Loading.Hide();
+                            CommonPage.Instance.RemoveViewByTag("Login");
+                            //鐧诲綍寮瑰嚭鐧诲綍鐣岄潰
+                            var accountLogin = new Login.AccountLoginForm { };
+                            Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
+                            accountLogin.ShowForm();
                         });
                     }
                 });
@@ -85,91 +103,6 @@
                 Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
                 accountLogin.ShowForm();
             }
-        }
-
-        /// <summary>
-        /// 鏄剧ず鍚姩椤�
-        /// </summary>
-        public void ShowLoginLoadView()
-        {
-            var loginLoad = new LoginLoading { };
-            CommonPage.Instance.AddChidren(loginLoad);
-            loginLoad.Show();
-        }
-
-        /// <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 async System.Threading.Tasks.Task<int> LoginByPWDAsync(string account, string password, string source = "", int company = 0)
-        {
-            var isLoginSuccess = -1;
-            var requestObj = new SendDataToServer.LoginObj
-            {
-                Account = account,
-                Password = password,
-                Source = source,
-                Company = 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)
-            {
-                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;
-                //鏍囪涓婁竴娆℃槸涓嶆槸鍚屼竴涓处鍙风櫥闄�
-                UserCenter.UserCenterResourse.ResidenceOption.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
-                await 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 await 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;
-            }
-            return isLoginSuccess;
         }
     }
 }

--
Gitblit v1.8.0