From c5a873df96e4a797426e4dd5eafe5b43f7aea564 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期六, 19 十二月 2020 15:41:53 +0800
Subject: [PATCH] 20201218-2

---
 HDL_ON/Common/HDLCommon.cs |  139 ++++++++++++++++++++++++++++++---------------
 1 files changed, 92 insertions(+), 47 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 7656e26..2ef00d9 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -5,6 +5,8 @@
 using HDL_ON.DAL.Server;
 using HDL_ON.UI;
 using HDL_ON.Entity;
+using System.Threading;
+using HDL_ON.DriverLayer;
 
 namespace HDL_ON
 {
@@ -14,6 +16,11 @@
     /// </summary>
     public class HDLCommon
     {
+        /// <summary>
+        /// 鏀跺埌鎺ㄩ�丄ction浜嬩欢
+        /// </summary>
+        public static Action GetPushMessageAction;
+
         #region 鈻� 鍙橀噺澹版槑___________________________
         /// <summary>
         /// 閫氱敤鏂规硶
@@ -166,7 +173,7 @@
             // 1.1 娌℃湁鏇存柊 杩斿洖
             if (mUpdateDialogInfo.UpdateType == 0) return;
             // 1.2 鏈夋柊鐗堟湰浣嗘槸蹇界暐杩� 杩斿洖
-            if (mUpdateDialogInfo.UpdateType == 1 && (UserInfo.Current.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
+            if (mUpdateDialogInfo.UpdateType == 1 && (OnAppConfig.Instance.IgnoreUpdateVersion == mUpdateDialogInfo.NewVersion)) return;
             // 2.1 鏈夋柊鐗堟湰娌℃湁蹇界暐杩� 鎻愮ず鏇存柊
             if (mUpdateDialogInfo.UpdateType == 1)
             {
@@ -179,8 +186,8 @@
 
                 Action cancelAction = () =>
                 {
-                    UserInfo.Current.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
-                    UserInfo.Current.SaveUserInfo();
+                    OnAppConfig.Instance.IgnoreUpdateVersion = mUpdateDialogInfo.NewVersion;
+                    OnAppConfig.Instance.SaveConfig();
                 };
 
                 //1鎻愮ず鏇存柊
@@ -223,20 +230,20 @@
 
         #endregion
 
-        /// <summary>
-        /// 鎭㈠浣忓畢
-        /// 2020-12-03 寰呮祴璇曟湭妫�娴�
-        /// </summary>
-        public void RestoreHomeBackup(string RegionID)
-        {
-            var isExist = FileUtils.ExistRegion(RegionID);
-            if (isExist)
-            {
-                //瀛樺湪鍒欐仮澶�
-                string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID);
-                FileUtils.RestoreRegionFiles(newRegionRootPath);
-            }
-        }
+        ///// <summary>
+        ///// 鎭㈠浣忓畢
+        ///// 2020-12-03 寰呮祴璇曟湭妫�娴�
+        ///// </summary>
+        //public void RestoreHomeBackup(string RegionID)
+        //{
+        //    var isExist = FileUtils.ExistRegion(RegionID);
+        //    if (isExist)
+        //    {
+        //        //瀛樺湪鍒欐仮澶�
+        //        string newRegionRootPath = FileUtils.CreateRegionBackup(RegionID);
+        //        FileUtils.RestoreRegionFiles(newRegionRootPath);
+        //    }
+        //}
 
         #region 鈻� 鎺ㄩ�佸鐞哶______________________
         /// <summary>
@@ -255,6 +262,7 @@
                         new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
                         //閫�鍑虹櫥褰曟搷浣�
                         CheckLogout();
+                     
                     });
                     return;
                 }
@@ -262,7 +270,12 @@
                 {
                     Shared.Application.RunOnMainThread(() =>
                     {
-                        new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+                        //鎶ヨ鎺ㄩ�佹墠寮圭獥鎻愮ず锛坢essageType鍖呭惈Alarm鍏抽敭瀛楃殑锛�
+                        if (jpushMessageInfo.messageType != null && jpushMessageInfo.messageType.Contains("Alarm"))
+                        {
+                            new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+                        }
+                        GetPushMessageAction?.Invoke();
                     });
                     return;
                 }
@@ -278,11 +291,12 @@
         /// </summary>
         public void CheckLogout()
         {
+            //鏈櫥褰曚笉鐢ㄥ鐞�
+            if (!UserInfo.Current.IsLogin) return;
+
 #if DEBUG
             return;
 #endif
-            //鏈櫥褰曚笉鐢ㄥ鐞�
-            if (!UserInfo.Current.IsLogin) return;
 
             Logout();
         }
@@ -292,26 +306,21 @@
         /// </summary>
         public void Logout()
         {
-            new System.Threading.Thread(() =>
+            //鍔犺浇Loading鏁堟灉
+            var waitPage = new Loading();
+            MainPage.BasePageView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+            new Thread(() =>
             {
                 try
                 {
-                    #region 淇濆瓨鏈湴鏁版嵁鑷虫枃浠跺す
-                    string oldRegionRootPath = FileUtils.CreateRegionBackup(DB_ResidenceData.residenceData.CurReginID.ToString());
-                    //娓呯┖涔嬪墠鐨勪綇瀹呮枃浠�
-                    FileUtils.DeleteRegionFiles(oldRegionRootPath);
-                    var backuplist = FileUtils.ReadFiles();
-                    //绉诲姩鏂囦欢
-                    foreach (var fileName in backuplist)
-                    {
-                        System.IO.FileInfo fileInfo = new System.IO.FileInfo(FileUtils.RootPath + fileName);
-                        if (fileInfo.Exists)
-                        {
-                            fileInfo.MoveTo(oldRegionRootPath + fileName);
-                            MainPage.Log("move file : " + fileName);
-                        }
-                    }
-                    #endregion
+                    //2.娉ㄩ攢鎺ㄩ��
+                    new HttpServerRequest().SignOutPush();
+                    //3.璺宠浆鐧诲綍椤甸潰
+                    UserInfo.Current.LastTime = DateTime.MinValue;
+                    UserInfo.Current.SaveUserInfo();
+                    DB_ResidenceData.Instance.EixtAccount();
                 }
                 catch (Exception ex)
                 {
@@ -319,22 +328,18 @@
                 }
                 finally
                 {
-                    FileUtils.DeleteAllFile();
-                    //2.娉ㄩ攢鎺ㄩ��
-                    new HttpServerRequest().SignOutPush();
-                    //3.璺宠浆鐧诲綍椤甸潰
-                    UserInfo.Current.LastTime = DateTime.MinValue;
-                    UserInfo.Current.headImagePagePath = "LoginIcon/2.png";//閲嶇疆鐢ㄦ埛澶村儚
-                    UserInfo.Current.SaveUserInfo();
-                    Shared.Application.RunOnMainThread(() =>
+                    Application.RunOnMainThread(() =>
                     {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
                         MainPage.GoLoginPage(UserInfo.Current);
-                        DB_ResidenceData.residenceData.EixtAccount();
                     });
                 }
             }).Start();
         }
-
         #endregion
 
         #region 鈻� 甯哥敤鏂规硶_______________________
@@ -366,6 +371,46 @@
                     break;
             }
         }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="userName"></param>
+        /// <returns></returns>
+        public string GetUserName(string userName)
+        {
+            return string.IsNullOrEmpty(userName) ? Language.StringByID(StringId.UsersWhoNameIsEmpty) : userName;
+        }
+
+
+        /// <summary>
+        /// 鐩戝惉缃戠粶鍙樺寲鍚庡鐞嗕簨浠�
+        /// 鍒锋柊缃戠粶鐘舵��
+        /// </summary>
+        /// <param name="internetStatus">缃戠粶鍙樺寲</param>
+        /// <param name="IsEnterBackground">鏄惁杩涘叆浜嗗悗鍙�</param>
+        public void UpdateInternetStatus(int internetStatus, bool IsEnterBackground = false)
+        {
+            MainPage.Log($"缃戠粶鐘舵�佸彉鍖栵紝褰撳墠缃戠粶:{internetStatus} 鏄惁鍚庡彴:{IsEnterBackground.ToString()}");
+
+            if (internetStatus == 0)//娌℃湁缃戠粶杩炴帴 0
+            {
+                Control.Ins.GatewayOnline = false;
+                Control.Ins.IsRemote = false;
+                MainPage.InternetStatus = 0;
+            }
+            else if (internetStatus == 1)//3,4G鐨勭綉缁滆繛鎺� 1
+            {
+                Control.Ins.SearchLoaclGateway();
+                MainPage.InternetStatus = 1;
+            }
+            else if (internetStatus == 2)//WiFi缃戠粶
+            {
+                Control.Ins.SearchLoaclGateway();
+                MainPage.InternetStatus = 2;
+            }
+        }
         #endregion
     }
 }

--
Gitblit v1.8.0