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/ApiUtlis.cs |  165 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 118 insertions(+), 47 deletions(-)

diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index 95d8510..65338b6 100644
--- a/HDL_ON/Common/ApiUtlis.cs
+++ b/HDL_ON/Common/ApiUtlis.cs
@@ -4,6 +4,8 @@
 using HDL_ON.DAL;
 using HDL_ON.DAL.Server;
 using HDL_ON.Entity;
+using HDL_ON.UI.UI2.FuntionControlView.Video;
+using Newtonsoft.Json;
 using Shared;
 
 namespace HDL_ON.Common
@@ -61,7 +63,7 @@
         /// </summary>
         public void DownloadData()
         {
-            if (MainPage.InternetStatus == 0)
+            if (MainPage.InternetStatus == 0 || MainPage.NoLoginMode)
                 return;
             //绾跨▼寮�濮嬫椂闂�
             var endTime = DateTime.Now.AddSeconds(5);
@@ -106,6 +108,26 @@
                 }
                 endTime = DateTime.Now.AddSeconds(5);
                 MainPage.Log($"鍒锋柊涓汉淇℃伅鎴愬姛");
+
+                //int count = 0;
+                //while (count < 10)
+                //{
+                //    if (DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
+                //    {
+                //        System.Threading.Thread.Sleep(200);
+                //    }
+                //    else
+                //    {
+                //        break;
+                //    }
+                //    count++;
+                //}
+                //if (DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
+                //{
+                //    return;
+                //}
+
+
                 try
                 {
                     //===================鎴块棿=======================
@@ -165,7 +187,7 @@
                         //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
                         foreach (var newFunction in deviceList.list) 
                         {
-                            MainPage.Log(newFunction.savePath);
+                            newFunction.AssembleStatus();
                             newFunction.SaveFunctionFile();
                             FunctionList.List.IniFunctionList(newFunction.savePath);
                         }
@@ -182,39 +204,13 @@
                     {
                         endTime = DateTime.Now.AddSeconds(100);
                         MainPage.Log($"璇诲彇鍦烘櫙鏁版嵁鎴愬姛");
-                        var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
+                        var sceneList = JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
                         if (sceneList == null)
                         {
                             sceneList = new List<Scene>();
                         }
-                        for (int i = 0; i < FunctionList.List.scenes.Count;)
-                        {
-                            var localScene = FunctionList.List.scenes[i];
-                            if (localScene == null)
-                            {
-                                FunctionList.List.scenes.Remove(localScene);
-                                continue;
-                            }
-                            var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId);
-                            if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
-                            {
-                                FunctionList.List.DeleteScene(localScene, false);
-                            }
-                            else
-                            {
-                                i++;
-                                if (localScene.modifyTime != newScene.modifyTime)
-                                {
-                                    localScene.name = newScene.name;
-                                    localScene.collect = newScene.collect;
-                                    localScene.modifyTime = newScene.modifyTime;
-                                    localScene.roomIds = newScene.roomIds;
-                                    localScene.image = newScene.image;
-                                    localScene.SaveSceneFile();
-                                }
-                                sceneList.Remove(newScene);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘
-                            }
-                        }
+                        FunctionList.List.scenes.Clear();
+
                         //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
                         foreach (var tempScene in sceneList)
                         {
@@ -255,17 +251,63 @@
                         MainPage.Log($"璇诲彇浜戠鍦烘櫙鏁版嵁澶辫触:Code:{pack.Code}; Msg:{pack.message}");
                     }
 
-                    //===================璇诲彇瀹夐槻鍒楄〃==========================
-                    GetSecurityList();
                     //===================璇诲彇閫昏緫鍒楄〃==========================
                     UI.UI2.Intelligence.Automation.MainView.GetLogicList();
+
                     //===================璇诲彇鍙瀵硅鏁版嵁==========================
-                    var flVideoInfo = HttpRequest.CheckFlVideo();
-                    if(flVideoInfo.Code == StateCode.SUCCESS)
+                    //鍒ゆ柇鏄惁鏈夊彲瑙嗗璁叉暟鎹紝鏈夊垯鏄剧ず鍙瀵硅icon
+                    //var flVideoInfo = HttpRequest.CheckFlVideo();
+                    //if(flVideoInfo.Code == StateCode.SUCCESS)
+                    //{
+                    //    FunctionList.List.videoIntercom1111 = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString());
+                    //}
+
+                    //======================鑾峰彇鍙瀵硅璁惧鍒楄〃====================
+                    bool isInterphoneType_HDL = false;//鏄惁涓篐DLLinphone鍙瀵硅
+                    var videoInfo= VideoSend.GetVideoInfoList();
+                    if (videoInfo.Code == StateCode.SUCCESS)
                     {
-                        FunctionList.List.videoIntercom = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString());
+                        string videoList = videoInfo.Data.ToString();
+                        FunctionList.List.videoIntercom = JsonConvert.DeserializeObject<List<UI.UI2.FuntionControlView.Video.Video>>(videoList);
+
+                        foreach (var video in FunctionList.List.videoIntercom)
+                        {
+                            if (video.interphoneType == InterphoneType.IMOUVISIAL.ToString())
+                            {
+                                UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken = video.subAccountToken;
+                            } else if (video.interphoneType == InterphoneType.HDL.ToString()) {
+                                isInterphoneType_HDL = true;
+                            }
+                            else if(video.interphoneType == InterphoneType.HDL.ToString())
+                            {
+                                DB_ResidenceData.Instance.SupportFacePass = true;
+                                DB_ResidenceData.Instance.SaveResidenceData(); 
+                            }
+                        }
                     }
 
+
+                    //======================瀹夐槻====================
+                    GetSecurityList();
+                    //======================SIP璐﹀彿====================
+
+                    //======================鑾峰彇Sip璐﹀彿骞朵笖鍒濆鍖朣DK鍙瀵硅璁惧鍒楄〃====================
+                    //濡傛灉妫�娴嬬嚎绋嬫病鍚姩锛屾墠缁х画涓嬮潰鎿嶄綔 鍥犱负App鏈夊彲鑳藉垰鍚姩椹笂鏀跺埌鎺ㄩ�佷簡锛岀劧鍚庢墠鎵ц鍒拌繖閲�
+                    if (HDLLinphone.Current.CheckIncomingCallThreadIsNull()) {
+                        //褰撳墠浣忓畢鏄疕DL鍙瀵硅绫诲瀷鐨勮澶�
+                        if (isInterphoneType_HDL)
+                        {
+                            //HDLLinphone鍙瀵硅,鑾峰彇Sip璐﹀彿骞跺垵濮嬪寲SDK
+                            HDLLinphone.Current.GetHDLSipInfoAndInitSDK(DB_ResidenceData.Instance.CurrentRegion.id);
+                        }
+                        else
+                        {
+                            Utlis.WriteLine("褰撳墠浣忓畢涓嶆敮鎸丠DL鍙瀵硅,閫�鍑虹櫥褰曟墍鏈夎处鍙�");
+                            //褰撳墠浣忓畢涓嶆敮鎸丠DL鍙瀵硅
+                            HDLLinphone.Current.LogoutAllAccount();
+                        }
+                    }
+                        
                 }
                 catch (Exception ex)
                 {
@@ -278,8 +320,11 @@
                         MainPage.Log($"缁撴潫璇诲彇浜戠鏁版嵁绾跨▼");
                         endTime = DateTime.MinValue;
                         DownloadDataComplete = true;
-                        waitPage.Hide();
-                        waitPage.RemoveFromParent();
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
                     });
                     //涓嶈�冭檻缃戝叧鎯呭喌锛岀洿鎺ヨ闃�
                     DAL.Mqtt.MqttClient.InitState();
@@ -311,8 +356,11 @@
                     DownloadDataComplete = true;
                     Application.RunOnMainThread(() =>
                     {
-                        waitPage.Hide();
-                        waitPage.RemoveFromParent();
+                        if (waitPage != null)
+                        {
+                            waitPage.RemoveFromParent();
+                            waitPage = null;
+                        }
                     });
                     //鍒濆鍖栨暟鎹�
                     //SpatialInfo.CurrentSpatial.Clear();
@@ -328,6 +376,8 @@
                         UI.Music.A31MusicModel.ReadMusicStates();
                         //鎼滅储缃戝叧
                         DriverLayer.Control.Ins.SearchLoaclGateway();
+                        //閲嶆柊杩炴帴mqtt
+                        DAL.Mqtt.MqttClient.DisConnectRemote("鍒锋柊鏁版嵁锛岄噸杩瀖qtt",false);
                         #endregion
                     }
                 }
@@ -344,7 +394,7 @@
             if (deviceResult.Code == StateCode.SUCCESS)
             {
                 MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛");
-                var packList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
+                var packList = JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
 
                 foreach(var function in packList.list)
                 {
@@ -362,25 +412,46 @@
             var pack = Ins.HttpRequest.GetSecurityList();
             if (pack.Code == StateCode.SUCCESS)
             {
-                var packList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Security>>(pack.Data.ToString());
+                var packList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(pack.Data.ToString());
                 var sidList = new List<string>();
                 foreach (var function in packList)
                 {
                     sidList.Add(function.sid);
                 }
                 var infoListPack = Ins.httpRequest.GetSecurityInfo(sidList, new List<string>());
-                var infoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Security>>(infoListPack.Data.ToString());
-                foreach (var function in infoList)
+                var infoList = JsonConvert.DeserializeObject<List<SecurityAlarm>>(infoListPack.Data.ToString());
+                if (infoList != null)
                 {
-                    function.SaveFile();
-                    FunctionList.List.IniFunctionList(function.savePath, true);
+                    var filePathList = FileUtlis.Files.ReadFiles().FindAll((obj) => obj.StartsWith("SecurityData_"));
+                    if (filePathList != null)
+                    {
+                        foreach (var file in filePathList)
+                        {
+                            FileUtlis.Files.DeleteFile(file);
+                        }
+                    }
+                    foreach (var function in infoList)
+                    {
+                        function.SaveFile();
+                        FunctionList.List.IniFunctionList(function.savePath, true);
+                    }
                 }
-            }
+            } 
             else
             {
                 MainPage.Log($"璇诲彇瀹夐槻鍒楄〃澶辫触:Code:{pack.Code}; Msg:{pack.message}");
             }
 
         }
+
+        /// <summary>
+        /// 鑾峰彇SIP璐﹀彿淇℃伅
+        /// </summary>
+        public void GetSipInfo()
+        {
+            var pack = Ins.HttpRequest.GetSecurityList();
+        }
+
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0