From 320d7cc8feb394d0ce3db2ec1d01593b554d990f Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 23 十二月 2020 10:57:13 +0800
Subject: [PATCH] 2020-12-23 1.更新

---
 HDL_ON/Common/HDLCommon.cs |  129 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 125 insertions(+), 4 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 1a52ef4..31e2c5f 100644
--- a/HDL_ON/Common/HDLCommon.cs
+++ b/HDL_ON/Common/HDLCommon.cs
@@ -6,6 +6,7 @@
 using HDL_ON.UI;
 using HDL_ON.Entity;
 using System.Threading;
+using HDL_ON.DriverLayer;
 
 namespace HDL_ON
 {
@@ -15,6 +16,11 @@
     /// </summary>
     public class HDLCommon
     {
+        /// <summary>
+        /// 鏀跺埌鎺ㄩ�丄ction浜嬩欢
+        /// </summary>
+        public static Action GetPushMessageAction;
+
         #region 鈻� 鍙橀噺澹版槑___________________________
         /// <summary>
         /// 閫氱敤鏂规硶
@@ -252,10 +258,11 @@
                 {
                     Shared.Application.RunOnMainThread(() =>
                     {
-                        //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
-                        new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
+                        ////璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+                        //new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
                         //閫�鍑虹櫥褰曟搷浣�
                         CheckLogout();
+
                     });
                     return;
                 }
@@ -263,7 +270,15 @@
                 {
                     Shared.Application.RunOnMainThread(() =>
                     {
-                        new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+                        GetPushMessageAction?.Invoke();
+                        //鎶ヨ鎺ㄩ�佹墠寮圭獥鎻愮ず锛坢essageType鍖呭惈Alarm鍏抽敭瀛楃殑锛�
+                        if (jpushMessageInfo.messageType != null && jpushMessageInfo.messageType.Contains("Alarm"))
+                        {
+                            //鎶ヨ鎺ㄩ�佸脊绐楁彁绀�
+                            ShowAlarmPushMessage(jpushMessageInfo);
+                            //new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
+                        }
+                       
                     });
                     return;
                 }
@@ -275,12 +290,17 @@
         }
 
         /// <summary>
+        /// 璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+        /// 瑕佸湪涓荤嚎绋嬭皟鐢�
         /// 閫�鍑虹櫥褰曟搷浣�
         /// </summary>
         public void CheckLogout()
         {
             //鏈櫥褰曚笉鐢ㄥ鐞�
             if (!UserInfo.Current.IsLogin) return;
+
+            //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+            new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
 
 #if DEBUG
             return;
@@ -296,7 +316,7 @@
         {
             //鍔犺浇Loading鏁堟灉
             var waitPage = new Loading();
-            MainPage.BasePageView.AddChidren(waitPage);
+            MainPage.BaseView.AddChidren(waitPage);
             waitPage.Start(Language.StringByID(StringId.PleaseWait));
 
             new Thread(() =>
@@ -328,6 +348,57 @@
                 }
             }).Start();
         }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        ConfirmDialog alarmPushConfirmDialog;
+        /// <summary>
+        /// 鎶ヨ鎺ㄩ�佸脊绐楁彁绀�,鐐瑰嚮鏌ョ湅璺宠浆淇℃伅涓績
+        /// </summary>
+        /// <param name="jpushMessageInfo"></param>
+        public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo)
+        {
+            //娌$櫥褰曚笉澶勭悊
+            if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
+            {
+                return;
+            }
+
+            //璺宠浆淇℃伅涓績椤甸潰
+            Action goAction = () =>
+            {
+                //Dialog
+                alarmPushConfirmDialog = null;
+                Action backAction = () => {
+                   
+                };
+                var skipPage = new MessageCenterPage();
+                MainPage.BasePageView.AddChidren(skipPage);
+                skipPage.LoadPage(backAction);
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+
+            //鍙栨秷浜嬩欢
+            Action cancelAction = () =>
+            {
+                alarmPushConfirmDialog = null;
+            };
+
+            //闃叉澶氭寮圭獥澶勭悊
+            if (alarmPushConfirmDialog == null)
+            {
+                alarmPushConfirmDialog = new ConfirmDialog();
+                alarmPushConfirmDialog.ShowDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver);
+            }
+            else
+            {
+                alarmPushConfirmDialog.RefreshDialog(Language.StringByID(StringId.Tip), jpushMessageInfo.Content, goAction, cancelAction, StringId.Cancel, StringId.LookOver);
+
+            }
+
+        }
+
         #endregion
 
         #region 鈻� 甯哥敤鏂规硶_______________________
@@ -359,6 +430,56 @@
                     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()}");
+            //缃戠粶鐘舵�佸彉鍖� 閲嶇疆缃戝叧鐘舵�侀噸鏂版悳绱�
+            Control.Ins.GatewayOnline = false;
+
+            //缃戠粶鍙樺寲锛屾柇寮�閲嶈繛涓�娆�
+            if (Control.Ins.IsRemote)
+            {
+                Control.Ins.IsRemote = false;
+                DAL.Mqtt.MqttClient.DisConnectRemote("UpdateInternetStatus", false);
+            }
+
+            if (internetStatus == 0)//娌℃湁缃戠粶杩炴帴 0
+            {
+                Control.Ins.GatewayOnline = false;
+                Control.Ins.IsRemote = false;
+                MainPage.InternetStatus = 0;
+            }
+            else if (internetStatus == 1)//3,4G鐨勭綉缁滆繛鎺� 1
+            {
+                MainPage.InternetStatus = 1;
+                Control.Ins.SearchLoaclGateway();
+                
+            }
+            else if (internetStatus == 2)//WiFi缃戠粶
+            {
+                MainPage.InternetStatus = 2;
+                Control.Ins.SearchLoaclGateway();
+            }
+        }
         #endregion
     }
 }

--
Gitblit v1.8.0