From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/UserView/HomePage.cs |  258 ++++++++++++++++++++++----------------------------
 1 files changed, 114 insertions(+), 144 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
old mode 100755
new mode 100644
index 32f75f3..be0d61a
--- a/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/HomePage.cs
@@ -49,174 +49,144 @@
                 }
             };
 
+            //鐩存帴鐧诲綍
             if (Config.Instance.IsLogin)
             {
-                ShowLoginLoadView();
+                //鏄剧ず鍚姩椤�
                 CommonPage.Loading.Start();
-                Action action = async () =>
-                {
-                    //CommonPage.Loading.Start(Language.StringByID(R.MyInternationalizationString.Logining));
-                    var loginSuccess = await LoginByPWDResultAsync(Config.Instance.Account, Config.Instance.Password);
-                    if (loginSuccess == 1)
-                    {
-                        new System.Threading.Thread(async () =>
-                        {
-                            //鐧诲綍鎴愬姛
-                            var homes = await House.GetHomeLists();
-                            //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
-                            //鍚姩ZigBee
-                            ZigBee.Common.Application.Init();
 
-                            UserCenter.HdlRoomLogic.Current.InitAllRoom();
-
-                            Application.RunOnMainThread(() =>
-                            {
-                                CommonPage.Instance.RemoveViewByTag("Login");
-                                UserPage.Instance.Fresh(); 
-                                CommonPage.Loading.Hide();
-                            });
-                        })
-                        { IsBackground = true }.Start();
-                    }
-                    else
-                    {
-                        //鏈櫥褰曟垚鍔熷脊鍑虹櫥褰曠晫闈� 鍚屾椂闇�瑕佹爣璁颁负鏈櫥褰曠姸鎬�
-                        //Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
-                        //Config.Instance.Save();
-                        //var accountLogin = new Device.Account.AccountLogin { };
-                        //CommonPage.Instance.AddChidren(accountLogin);
-                        //accountLogin.Show();
-                        //CommonPage.Loading.Hide();
-
-                        //鐧诲綍澶辫触锛屼篃鐩存帴杩涘叆涓婚〉
-                        new System.Threading.Thread(async () =>
-                        {
-                            //鐧诲綍鎴愬姛
-                            var homes = await House.GetHomeLists();
-                            //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
-                            await UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
-                            //鍚姩ZigBee
-                            ZigBee.Common.Application.Init();
-
-                            UserCenter.HdlRoomLogic.Current.InitAllRoom();
-
-                            Application.RunOnMainThread(() =>
-                            {
-                                CommonPage.Instance.RemoveViewByTag("Login");
-                                UserPage.Instance.Fresh();
-                                CommonPage.Loading.Hide();
-                            });
-                        })
-                        { IsBackground = true }.Start();
-                    }
-                };
-                //鐧诲綍杩囩洿鎺ュ悗鍙扮櫥褰�
-                action();
+                UserCenter.HdlThreadLogic.Current.RunThread(() =>
+                {
+                    //鐧诲綍
+                    var loginSuccess = LoginByPWDAsync(Config.Instance.Account, Config.Instance.Password);
+                    //鐧诲綍鎴愬姛,鎴栬�呮病鏈夌綉缁滈兘鍙互鐧诲綍
+                    if (loginSuccess == 1 || loginSuccess == 2)
+                    {
+                        var homes = UserCenter.HdlResidenceLogic.Current.GetHomeListsFromDb(true);
+                        //鍒锋柊涓汉涓績鐨勫唴瀛樺強绾跨▼
+                        bool result = UserCenter.UserCenterLogic.InitUserCenterMenmoryAndThread();
+                        //鍚姩ZigBee
+                        ZigBee.Common.Application.Init();
+
+                        UserCenter.HdlThreadLogic.Current.RunMain(() =>
+                        {
+                            CommonPage.Instance.RemoveViewByTag("Login");
+                            CommonPage.Loading.Hide();
+                            if (result == true)
+                            {
+                                //false:寮�鍚簡璋冭瘯鍔熻兘
+                                UserPage.Instance.ReFreshControl();
+                            }
+                        });
+                    }
+                    else
+                    {
+                        //璁惧畾涓�涓椂闂�
+                        Config.Instance.LoginDateTime = new DateTime(1970, 1, 1);
+                        Config.Instance.Save();
+
+                        UserCenter.HdlThreadLogic.Current.RunMain(() =>
+                        {
+                            CommonPage.Loading.Hide();
+                            CommonPage.Instance.RemoveViewByTag("Login");
+                            //鐧诲綍寮瑰嚭鐧诲綍鐣岄潰
+                            var accountLogin = new Login.AccountLoginForm { };
+                            Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
+                            accountLogin.ShowForm();
+                        });
+                    }
+                });
             }
             else
             {
                 //鏈櫥褰曞脊鍑虹櫥褰曠晫闈�
-                var accountLogin = new Login.AccountLogin { };
+                var accountLogin = new Login.AccountLoginForm { };
                 Shared.Common.CommonPage.Instance.AddChidren(accountLogin);
-                accountLogin.Show();
-                //accountLogin.ShowForm();
+                accountLogin.ShowForm();
             }
         }
 
-
-        public void ShowLoginLoadView()
-        {
-            var loginLoad = new LoginLoading { };
-            CommonPage.Instance.AddChidren(loginLoad);
-            loginLoad.Show();
-        }
-
         /// <summary>
-        /// Logins the by PWDA sync.
+        /// 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)
+        public int LoginByPWDAsync(string account, string password, string source = "", int company = 0)
         {
-            var isLoginSuccess = -1;
-            try
-            {
-                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)
-                {
-                    isLoginSuccess = -1;
-                    return isLoginSuccess;
-                }
-                var stateCodeStr = revertObj.StateCode.ToUpper();
-                //Error 涓嶈兘鐩存帴浠庢湇鍔″櫒鍙栵紝鍙兘鏍规嵁鐘舵�佺爜閫愪竴鍒ゆ柇
-                if (stateCodeStr == "SUCCESS")
-                {
-                    if (revertObj.ResponseData == null)
-                    {
-                        return -1;
-                    }
+            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;
 
-                    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;
-                    isLoginSuccess = 1;
-                    var resultRegID = await Shared.Common.CommonPage.Instance.PushRegID();
-                    System.Console.WriteLine($"鍚庡彴鐧诲綍鎴愬姛--{Config.Instance.LoginDateTime}");
-                }
-                else if (stateCodeStr == "YOUDATANOISLOCALREGION")
-                {
-                    isLoginSuccess = -1;
-                    //涓嶅湪鏈尯鍩燂紝闇�瑕侀噸瀹氬悜鍖哄煙鍚庡啀娆¤姹傜櫥褰�
-                    if (revertObj.ResponseData == null)
-                    {
-                        return isLoginSuccess;
-                    }
-                    var responseDataObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Shared.Common.ResponseEntity.UserLoginLocalRegionRes>(revertObj.ResponseData.ToString());
-                    CommonPage.RequestHttpsHost = responseDataObj.RegionServer;
-                }
-                else
-                {
-                    isLoginSuccess = -1;
-                }
+//#if iOS
+//                //鍒濆鍖栧叏瑙嗛��
+//                Shared.IOS.HDLFVSDK.Video.Init("",revertData.UserID.ToString());
+//#endif
+            }
+            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;
             }
-            catch
+            else if (stateCodeStr == "BERESTRICT")
             {
-                isLoginSuccess = -1;
+                //姝よ处鍙锋棤鏉冪櫥褰�
+                isLoginSuccess = 0;
             }
-            return isLoginSuccess;
-        }
-
-        /// <summary>
-        /// 鍚庡彴鐧诲綍
-        /// -1 澶辫触  1 鎴愬姛
-        /// </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> LoginByPWDResultAsync(string account, string password, string source = "", int company = 0)
-        {
-            var isLoginSuccess = await LoginByPWDAsync(account, password, source, company);
             return isLoginSuccess;
         }
     }

--
Gitblit v1.8.0