From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/Common/ApiUtlis.cs |  155 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 101 insertions(+), 54 deletions(-)

diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index a54fab4..31d4229 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
@@ -46,7 +48,7 @@
         public bool GatewayOnlineVerification()
         {
             bool result = DB_ResidenceData.Instance.HomeGateway.gatewayStatus;
-
+            DriverLayer.Control.Ins.GatewayOnline_Cloud = result;
             if (!result)
             {
 
@@ -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);
@@ -159,8 +161,10 @@
                         {
                             deviceList = new DevcieApiPack();
                         }
+                        string delFile = "";
                         if (FunctionList.List.GetDeviceFunctionList().Count > 0)
                         {
+
                             for (int i = 0; i < FunctionList.List.GetDeviceFunctionList().Count;)
                             {
                                 var localFunction = FunctionList.List.GetDeviceFunctionList()[i];
@@ -170,31 +174,20 @@
                                     continue;
                                 }
                                 var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId);
-                                if (newFunction == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
+
+                                if (delFile == localFunction.savePath)
                                 {
-                                    FunctionList.List.DeleteFunction(localFunction);
-                                }
-                                else
-                                {
-                                    MainPage.Log($"deviceType:{localFunction.spk} local:{localFunction.modifyTime} server:{newFunction.modifyTime}");
                                     i++;
-                                    if (localFunction.modifyTime != newFunction.modifyTime)
-                                    {
-                                        //鍙紭鍖�
-                                        localFunction.name = newFunction.name;
-                                        localFunction.collect = newFunction.collect;
-                                        localFunction.modifyTime = newFunction.modifyTime;
-                                        localFunction.roomIds = newFunction.roomIds;
-                                        localFunction.bus = newFunction.bus;
-                                        localFunction.SaveFunctionFile();
-                                    }
-                                    deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘
+                                    continue;
                                 }
+                                delFile = localFunction.savePath;
+                                FunctionList.List.DeleteFunction(localFunction);
                             }
                         }
                         //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
-                        foreach (var newFunction in deviceList.list)
+                        foreach (var newFunction in deviceList.list) 
                         {
+                            MainPage.Log(newFunction.savePath);
                             newFunction.SaveFunctionFile();
                             FunctionList.List.IniFunctionList(newFunction.savePath);
                         }
@@ -216,34 +209,8 @@
                         {
                             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)
                         {
@@ -286,6 +253,31 @@
 
                     //===================璇诲彇閫昏緫鍒楄〃==========================
                     UI.UI2.Intelligence.Automation.MainView.GetLogicList();
+
+                    //===================璇诲彇鍙瀵硅鏁版嵁==========================
+                    //鍒ゆ柇鏄惁鏈夊彲瑙嗗璁叉暟鎹紝鏈夊垯鏄剧ず鍙瀵硅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());
+                    //}
+
+                    //======================鑾峰彇鍙瀵硅璁惧鍒楄〃====================
+                    var videoInfo= VideoSend.GetVideoInfoList();
+                    if (videoInfo.Code == StateCode.SUCCESS)
+                    {
+                        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 == "IMOUVISIAL")
+                            {
+                                UI.UI2.PersonalCenter.PirDevice.PirSend.LcSubAccessToken = video.subAccountToken;
+                            }
+                        }
+                    }
+
                 }
                 catch (Exception ex)
                 {
@@ -301,6 +293,10 @@
                         waitPage.Hide();
                         waitPage.RemoveFromParent();
                     });
+                    //涓嶈�冭檻缃戝叧鎯呭喌锛岀洿鎺ヨ闃�
+                    DAL.Mqtt.MqttClient.InitState();
+
+                    FunctionList.List.Read3tyFunctionStatus();
                 }
             });
             downloadDataThread.IsBackground = true;
@@ -337,15 +333,66 @@
                 catch { }
                 finally
                 {
-                    #region 璇诲彇鏈湴鏁版嵁
-                    //璇诲彇闊充箰淇℃伅
-                    UI.Music.A31MusicModel.ReadMusicStates();
-                    //鎼滅储缃戝叧
-                    DriverLayer.Control.Ins.SearchLoaclGateway();
-                    #endregion
+                    if (DB_ResidenceData.Instance.CurrentRegion != null)
+                    {
+                        #region 璇诲彇鏈湴鏁版嵁
+                        //璇诲彇闊充箰淇℃伅
+                        UI.Music.A31MusicModel.ReadMusicStates();
+                        //鎼滅储缃戝叧
+                        DriverLayer.Control.Ins.SearchLoaclGateway();
+                        #endregion
+                    }
                 }
             })
             { IsBackground = true }.Start();
         }
+
+        /// <summary>
+        /// 鑾峰彇鍔熻兘淇℃伅
+        /// </summary>
+        public void GetFunctionInfo(string functionId)
+        {
+            var deviceResult = Ins.HttpRequest.GetDeviceInfo(functionId);
+            if (deviceResult.Code == StateCode.SUCCESS)
+            {
+                MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛");
+                var packList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
+
+                foreach(var function in packList.list)
+                {
+                    function.SaveFunctionFile();
+                    FunctionList.List.IniFunctionList(function.savePath,true);
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鑾峰彇瀹夐槻鍒楄〃
+        /// </summary>
+        public void GetSecurityList()
+        {
+            var pack = Ins.HttpRequest.GetSecurityList();
+            if (pack.Code == StateCode.SUCCESS)
+            {
+                var packList = Newtonsoft.Json.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<SecurityAlarm>>(infoListPack.Data.ToString());
+                foreach (var function in infoList)
+                {
+                    function.SaveFile();
+                    FunctionList.List.IniFunctionList(function.savePath, true);
+                }
+            }
+            else
+            {
+                MainPage.Log($"璇诲彇瀹夐槻鍒楄〃澶辫触:Code:{pack.Code}; Msg:{pack.message}");
+            }
+
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0