From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 27 八月 2021 13:21:21 +0800
Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1

---
 HDL_ON/Common/HDLCommon.cs |  467 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 407 insertions(+), 60 deletions(-)

diff --git a/HDL_ON/Common/HDLCommon.cs b/HDL_ON/Common/HDLCommon.cs
index 7656e26..d986e84 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,66 +230,188 @@
 
         #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>
         /// 鎺ㄩ�佹秷鎭鐞�
+        /// 娉ㄦ剰锛欰ndroid瑕佸湪涓荤嚎绋嬶紙UI绾跨▼锛夋墽琛�
         /// </summary>
         /// <param name="jpushMessageInfo"></param>
         public void AdjustPushMessage(JPushMessageInfo jpushMessageInfo)
         {
             try
             {
-                if (jpushMessageInfo.Extras != null && jpushMessageInfo.Extras.Contains("OffLine"))
+                //Extras涓虹┖涓嶅鐞�
+                if (string.IsNullOrEmpty(jpushMessageInfo.Extras)) return;
+
+                if (jpushMessageInfo.Extras.Contains(PushMessageType.OffLine.ToString()))
                 {
-                    Shared.Application.RunOnMainThread(() =>
-                    {
-                        //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
-                        new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
-                        //閫�鍑虹櫥褰曟搷浣�
-                        CheckLogout();
-                    });
-                    return;
+                    CheckLogout();
                 }
                 else
                 {
-                    Shared.Application.RunOnMainThread(() =>
+                    GetPushMessageAction?.Invoke();
+
+                    //messageType涓虹┖涓嶅鐞�
+                    if (string.IsNullOrEmpty(jpushMessageInfo.messageType)) return;
+
+                    //鎶ヨ鎺ㄩ�佹墠寮圭獥鎻愮ず锛坢essageType鍖呭惈Alarm鍏抽敭瀛楃殑锛�
+                    if (jpushMessageInfo.messageType.Contains(PushMessageType.Alarm.ToString()))
                     {
-                        new Alert(jpushMessageInfo.Title, jpushMessageInfo.Content, Language.StringByID(StringId.Close)).Show();
-                    });
-                    return;
+                        //鎶ヨ鎺ㄩ�佸脊绐楁彁绀�
+                        ShowAlarmPushMessage(jpushMessageInfo, true);
+                    }
+                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.FLCall.ToString()))
+                    {
+                        if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
+
+                        ESVideoInfo eSVideoInfo = GetESOnVideoJson(jpushMessageInfo.expantContent);
+
+                        if (eSVideoInfo == null) return;
+
+                        if (string.IsNullOrEmpty(eSVideoInfo.uuid)) return;
+
+                        if (eSVideoInfo.uuid.Contains(","))
+                        {
+                            var uuid = eSVideoInfo.uuid.Split(',');
+                            eSVideoInfo.ESVideoUUID = uuid[0];
+                        }
+                        else
+                        {
+                            eSVideoInfo.ESVideoUUID = eSVideoInfo.uuid;
+                        }
+
+                        ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, InterphoneType.FLVI.ToString());
+
+                    }
+                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.HDL_INTERPHONE.ToString()))
+                    {
+                        if (string.IsNullOrEmpty(jpushMessageInfo.expantContent)) return;
+
+                        //瀛楁鍏煎闂锛屽彧鑳界洿鎺ュ彇鍊间簡
+                        var json = Newtonsoft.Json.Linq.JObject.Parse(jpushMessageInfo.expantContent);
+                        //1.瑙嗗璁插巶瀹剁被鍨�
+                        string interphoneTypeEnum = json["interphoneTypeEnum"].ToString();
+                        if (string.IsNullOrEmpty(interphoneTypeEnum)) return;
+                        ESVideoInfo eSVideoInfo = new ESVideoInfo();// GetESOnVideoJson(jpushMessageInfo.expantContent);
+                        //2.鏍规嵁鍙瀵硅鍘傚绫诲瀷锛屽鐞嗕笉鍚岀殑鏁版嵁
+                        if (interphoneTypeEnum == InterphoneType.IMOUVISIAL.ToString())
+                        {
+                            //澶у崕涔愭
+                            eSVideoInfo.callId = json["callId"].ToString();
+                            //eSVideoInfo.Lc_AccessToken = UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken;//json["subAccountToken"].ToString();//
+                            eSVideoInfo.Lc_AccessToken = json["subAccountToken"].ToString();//2021-05-13 鐩墠浜戠杩樻病鎷垮埌Lc_AccessToken锛岀洰鍓嶆病鍔炴硶姝e父浣跨敤
+                            eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
+                            eSVideoInfo.Lc_Location = OnAppConfig.Instance.RequestHttpsHost.Contains("China") ? 0 : 1;
+                            eSVideoInfo.Lc_PlayToken = json["token"].ToString();
+                            eSVideoInfo.Lc_Psk = json["cname"].ToString();
+                        }
+                        else if (interphoneTypeEnum == InterphoneType.EZVIZ.ToString())
+                        {
+                            //钀ょ煶鐚溂
+                            eSVideoInfo.Lc_AccessToken = json["subToken"].ToString();//"瀛愯处鍙穞oken
+                            eSVideoInfo.DeviceSerial = json["devSerial"].ToString();//璁惧搴忓垪鍙�
+                            eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
+                        }
+                        else if (interphoneTypeEnum == InterphoneType.HDL.ToString())
+                        {
+                            //HDL Linphone 鐙勮�愬厠
+                            eSVideoInfo.HomeId = jpushMessageInfo.HomeId;
+                            eSVideoInfo.callId = json["callId"].ToString();
+                            eSVideoInfo.Lc_DeviceId = json["deviceId"].ToString();
+                            eSVideoInfo.DeviceName = json["deviceName"].ToString();
+                            eSVideoInfo.deviceSipAccount = json["deviceSipAccount"].ToString();
+                            //ShowAlert("鐙勮�愬厠闂ㄥ彛鏈哄懠鍙�");
+                            //鎵撳紑鍛煎彨椤甸潰
+                            HDLLinphone.Current.ShowESVideoIntercom(eSVideoInfo);
+                            return;
+                        }
+
+                        //3.鎵撳紑鍛煎彨椤甸潰
+                        if (eSVideoInfo == null) return;
+                        ESOnVideo.Current.ShowESvideoVideoIntercom(eSVideoInfo, interphoneTypeEnum);
+
+                    }
+                    else if (jpushMessageInfo.messageType.Contains(PushMessageType.Prompt.ToString()))
+                    {
+                        ShowAlarmPushMessage(jpushMessageInfo, false);
+                    }
                 }
+            }
+            catch (Exception EX)
+            {
+                Utlis.WriteLine("catch: " + EX.ToString());
+            }
+        }
+        //{"code":0,"data":{"list":[{"createTime":"1625798305115","modifyTime":"1625798305115","region":"100000000000000001","id":"1413326644794294273","alarmId":"20210709103818-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103818-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:38:17","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{"createTime":"1625798057197","modifyTime":"1625798057197","region":"100000000000000001","id":"1413325604946640898","alarmId":"20210709103413-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103413-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:34:12","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797973320","modifyTime":"1625797973320","region":"100000000000000001","id":"1413325253141004289","alarmId":"20210709103236-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709103236-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:32:31","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797782136","modifyTime":"1625797782136","region":"100000000000000001","id":"1413324451261382658","alarmId":"20210709102937-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102937-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:29:37","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797668771","modifyTime":"1625797668771","region":"100000000000000001","id":"1413323975769915394","alarmId":"20210709102743-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102743-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:27:42","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797539846","modifyTime":"1625797539846","region":"100000000000000001","id":"1413323435023466498","alarmId":"20210709102534-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102534-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:25:34","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625797530627","modifyTime":"1625797530627","region":"100000000000000001","id":"1413323396351983618","alarmId":"20210709102525-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709102525-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:25:25","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625796028089","modifyTime":"1625796028089","region":"100000000000000001","id":"1413317094255034369","alarmId":"20210709100024-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709100024-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T10:00:23","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625795974558","modifyTime":"1625795974558","region":"100000000000000001","id":"1413316869729746946","alarmId":"20210709095931-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709095931-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T09:59:31","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"},{ "createTime":"1625795966933","modifyTime":"1625795966933","region":"100000000000000001","id":"1413316837748178946","alarmId":"20210709095923-F41014762-1-10000","channelNo":1,"deviceSerial":"F41014762","alarmName":"浜轰綋鎰熷簲浜嬩欢","alarmPicUrl":"https://i.ys7.com/streamer/alarm/url/get?fileId=20210709095923-F41014762-1-10000-2-1&deviceSerialNo=F41014762&cn=1&isEncrypted=0&isCloudStored=0&ct=1&lc=7&bn=1_hikalarm&isDevVideo=0","alarmTime":"2021-07-09T09:59:22","homeId":"1396717478877241345","alarmType":"pir","isChecked":0,"isEncrypt":0,"deleted":0,"tenantId":"20"}],"totalCount":"13","totalPage":"2","pageNo":"1","pageSize":"10"},"timestamp":"1625807415164","isSuccess":true}
+        //{"platform":"1","timestamp":"1625805660249","appKey":"HDL-HOME-APP-TEST","sign":"02e433c40485b30451ebdc5ca3cd959c","deviceSerial":"F41014762","homeId":"1396717478877241345"}
+    /// <summary>
+    /// 瑙f瀽涓版灄鍙瀵硅鎺ㄩ�佹暟鎹�
+    /// </summary>
+    /// <param name="jsonStr"></param>
+    /// <returns></returns>
+    ESVideoInfo GetESOnVideoJson(string jsonStr)
+        {
+            try
+            {
+                if (!string.IsNullOrEmpty(jsonStr))
+                {
+                    return Newtonsoft.Json.JsonConvert.DeserializeObject<ESVideoInfo>(jsonStr);
+                }
+                return null;
             }
             catch
             {
-
+                return null;
             }
         }
 
         /// <summary>
+        /// 璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+        /// 瑕佸湪涓荤嚎绋嬭皟鐢�
         /// 閫�鍑虹櫥褰曟搷浣�
         /// </summary>
         public void CheckLogout()
         {
-#if DEBUG
-            return;
-#endif
+            //娴嬭瘯璐﹀彿锛屼笉鎸や笅绾�
+            switch (UserInfo.Current.AccountString)
+            {
+                case "13415629083":
+                case "18316120654":
+                case "15622703419":
+                case "18824864143":
+                case "464027401@qq.com":
+                case "2791308028@qq.com":
+                case "13697499568":
+                case "18666455392":
+                case "13375012446":
+                case "13602944661":
+                case "18778381374":
+                case "18316672920":
+                case "15626203746":
+                case "551775569@qq.com":
+                    return;
+            }
+
             //鏈櫥褰曚笉鐢ㄥ鐞�
             if (!UserInfo.Current.IsLogin) return;
+
+            //璐﹀彿鍦ㄥ埆澶勭櫥闄嗭紝琚涪涓嬬嚎 璺宠浆鍒扮櫥褰曢〉闈�
+            new Alert(Language.StringByID(StringId.Tip), Language.StringByID(StringId.LoggedOnOtherDevices), Language.StringByID(StringId.Close)).Show();
 
             Logout();
         }
@@ -292,26 +421,23 @@
         /// </summary>
         public void Logout()
         {
-            new System.Threading.Thread(() =>
+            //鍔犺浇Loading鏁堟灉
+            var waitPage = new Loading();
+            MainPage.BaseView.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();
+                    //4.娉ㄩ攢HDLSIP璐﹀彿鐧诲綍 2021-08-20
+                    HDLLinphone.Current.LogoutAllAccount();
                 }
                 catch (Exception ex)
                 {
@@ -319,20 +445,93 @@
                 }
                 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();
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        ConfirmDialog alarmPushConfirmDialog;
+        /// <summary>
+        /// 鎶ヨ鎺ㄩ�佸脊绐楁彁绀�,鐐瑰嚮鏌ョ湅璺宠浆淇℃伅涓績
+        /// </summary>
+        /// <param name="jpushMessageInfo"></param>
+        /// <param name="isAlarm">鏄惁鏄姤璀︿俊鎭紝锛堝姞杞界殑寮圭獥棰滆壊涓嶄竴鏍凤級</param>
+        public void ShowAlarmPushMessage(JPushMessageInfo jpushMessageInfo, bool isAlarm)
+        {
+            //娌$櫥褰曚笉澶勭悊
+            if (UserInfo.Current == null || !UserInfo.Current.IsLogin || MainPage.BasePageView == null)
+            {
+                return;
+            }
+
+            //璺宠浆淇℃伅涓績椤甸潰
+            Action goAction = () =>
+            {
+                //鏌ョ湅瀵瑰簲浣忓畢鐨勪俊鎭紝瑕佸垏鎹㈠埌瀵瑰簲浣忓畢
+                if (jpushMessageInfo.HomeId != DB_ResidenceData.Instance.CurrentRegion.id)
+                {
+                    var homeTemp = UserInfo.Current.regionList.Find((obj) => jpushMessageInfo.HomeId == obj.id);
+                    if (homeTemp != null)
+                    {
+                        DB_ResidenceData.Instance.CurrentRegion = homeTemp;
+                        DB_ResidenceData.Instance.SaveResidenceData();
+                        DB_ResidenceData.Instance.EixtAccount();
+                        //鍒锋柊浣忓畢鏁版嵁
+                        Common.ApiUtlis.Ins.DownloadData();
+                        while (MainPage.BasePageView.ChildrenCount > 1)
+                        {
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 2;
+                        }
+                        MainPage.CurPageIndex = 9999;
+                        MainPage.UserBasePage.ChooseCollection();
+                    }
+                }
+                //Dialog
+                alarmPushConfirmDialog = null;
+                Action backAction = () =>
+                {
+
+                };
+                while (MainPage.BasePageView.ChildrenCount > 1)
+                {
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 2;
+                }
+                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(isAlarm);
+                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
@@ -366,6 +565,154 @@
                     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_Cloud = false;
+            Control.Ins.GatewayOnline_Local = false;
+
+            DAL.Mqtt.MqttClient.DisConnectRemote("UpdateInternetStatus", false);
+
+            if (internetStatus == 0)//娌℃湁缃戠粶杩炴帴 0
+            {
+                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
+
+        #region 璺宠浆鎵撳紑钀ょ煶浜戞柟娉�
+
+        /// <summary>
+        /// 鑾峰彇瀛愯处鍙穞oken骞惰烦杞澶囧垪琛ㄩ〉闈�
+        /// </summary>
+        /// <param name="bodyView"></param>
+        public void Go2EZvizMonitor(FrameLayout bodyView)
+        {
+            var waitPage = new Loading();
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+
+            new Thread(() =>
+            {
+                try
+                {
+                    //鍏堣幏鍙栬悿鐭充簯瀛愯处鍙穞oken
+                    var result = new HttpServerRequest().EZGetChildToken();
+                    if (result.Code == StateCode.SUCCESS)
+                    {
+                        var ezChildAccessToken = result.Data.ToString();
+
+                        //var ezChildAccessToken = Newtonsoft.Json.JsonConvert.DeserializeObject<EZChildAccessToken>(result.Data.ToString());
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (!string.IsNullOrEmpty(ezChildAccessToken))
+                            {
+#if __IOS__
+                                //iOS
+                                //鍒濆鍖栬悿鐭充簯SDK锛屼腑鏂囧浗鍐卥ey銆佽嫳鏂囨捣澶杒ey 寮�鍙戣�呰处鍙蜂娇鐢ㄥ簲鐢ㄥ寘鍚嶇敵璇风殑APPKEY锛屼笉鍚屽寘鍚嶅簲鐢ㄩ渶閰嶇疆涓嶅悓鐨凙PPKEY
+                                EZSDK.IOS.EZSDK.SharedInstance().InitLibWithAppKey("1aa98a90489b4838b966b57018b4b04b", "1aa98a90489b4838b966b57018b4b04b");
+                                //1.璁剧疆鎵�闇�娌充笢鐨凙ccessToken鍜孯efreshToken銆佸煙鍚嶅湴鍧�
+                                EZSDK.IOS.EZSDK.SharedInstance().SetHDlAccessToken(UserInfo.Current.LoginTokenString, UserInfo.Current.RefreshToken);
+                                EZSDK.IOS.EZSDK.SharedInstance().SetRequestHttpsHostAndPlatform(OnAppConfig.Instance.RequestHttpsHost, 1, DB_ResidenceData.Instance.CurrentRegion.id);
+                                //2.璁剧疆钀ょ煶瀛愯处鍙风殑AccessToken鍒癝DK
+                                EZSDK.IOS.EZSDK.SharedInstance().SetEZAccessToken(ezChildAccessToken);
+                                ////3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
+                                EZSDK.IOS.EZSDK.SharedInstance().Go2EZvizMonitor();
+
+                                //EZSDK.IOS.EZDeviceInfo info = new EZSDK.IOS.EZDeviceInfo();
+                                //info.de
+                                //EZSDK.IOS.EZSDK.Play(info);
+#else
+                                //Android
+                                //1.璁剧疆鎵�闇�娌充笢鐨則oken銆佸煙鍚嶅湴鍧�
+                                //2.璁剧疆钀ょ煶瀛愯处鍙风殑token
+                                //3.鎵撳紑鎽勫儚澶磋澶囧垪琛ㄩ〉闈�
+                                ((BaseActivity)Shared.Application.Activity).SetCamera(b =>
+                                {
+                                    if (b)
+                                    {
+                                        ((BaseActivity)Shared.Application.Activity).SetPermission(result =>
+                                        {
+                                            if(result)
+                                            { 
+                                            Android.Content.Intent intent = new Android.Content.Intent();
+                                            var bundle = new Android.OS.Bundle();
+                                            //浼犻�抧ame鍙傛暟涓簍inyphp
+                                            bundle.PutString("EzChildAccessToken", ezChildAccessToken);
+                                            bundle.PutString("HdlToken", UserInfo.Current.LoginTokenString);
+                                            bundle.PutString("Url", OnAppConfig.Instance.RequestHttpsHost);
+                                            bundle.PutString("EzvizAppKey", "1aa98a90489b4838b966b57018b4b04b");
+                                            bundle.PutInt("Platform", 1);
+                                            bundle.PutString("HomeId", DB_ResidenceData.Instance.CurrentRegion.id);
+                                            intent.PutExtras(bundle);
+                                            intent.SetComponent(new Android.Content.ComponentName(Shared.Application.Activity, "com.videogo.MainActivity"));
+                                            Shared.Application.Activity.StartActivity(intent);
+                                            }
+                                        }, "android.permission.RECORD_AUDIO");
+
+                                    }
+                                });
+#endif
+
+
+                            }
+
+                        });
+                    }
+                    else
+                    {
+                        IMessageCommon.Current.ShowErrorInfoAlter(result.Code);
+                    }
+                }
+                catch (Exception ex)
+                {
+                }
+                finally
+                {
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
+                    });
+                }
+            })
+            { IsBackground = true }.Start();
+        }
+
         #endregion
     }
 }

--
Gitblit v1.8.0