From e13a9980ce617db1394a76944186c5d5bd595d5d Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 02 六月 2021 14:37:12 +0800 Subject: [PATCH] 5月需求bug修复 --- HDL_ON/Common/ApiUtlis.cs | 186 ++++++++++++++++++++++++++++------------------ 1 files changed, 112 insertions(+), 74 deletions(-) diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index a01e24d..f01a100 100644 --- a/HDL_ON/Common/ApiUtlis.cs +++ b/HDL_ON/Common/ApiUtlis.cs @@ -46,7 +46,7 @@ public bool GatewayOnlineVerification() { bool result = DB_ResidenceData.Instance.HomeGateway.gatewayStatus; - + DriverLayer.Control.Ins.GatewayOnline_Cloud = result; if (!result) { @@ -106,26 +106,6 @@ } 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 { //===================鎴块棿======================= @@ -159,42 +139,33 @@ { 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]; - if (localFunction.functionCategory == FunctionCategory.Music) + if (localFunction.Spk_Prefix == FunctionCategory.Music || string.IsNullOrEmpty(localFunction.Spk_Prefix)) { i++; 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 +187,37 @@ { 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);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 - } - } + //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) { @@ -284,8 +258,17 @@ MainPage.Log($"璇诲彇浜戠鍦烘櫙鏁版嵁澶辫触:Code:{pack.Code}; Msg:{pack.message}"); } + //===================璇诲彇瀹夐槻鍒楄〃========================== + GetSecurityList(); //===================璇诲彇閫昏緫鍒楄〃========================== UI.UI2.Intelligence.Automation.MainView.GetLogicList(); + //===================璇诲彇鍙瀵硅鏁版嵁========================== + var flVideoInfo = HttpRequest.CheckFlVideo(); + if(flVideoInfo.Code == StateCode.SUCCESS) + { + FunctionList.List.videoIntercom = Newtonsoft.Json.JsonConvert.DeserializeObject<UI.UI2.FuntionControlView.Video.VideoClouds>(flVideoInfo.Data.ToString()); + } + } catch (Exception ex) { @@ -301,6 +284,10 @@ waitPage.Hide(); waitPage.RemoveFromParent(); }); + //涓嶈�冭檻缃戝叧鎯呭喌锛岀洿鎺ヨ闃� + DAL.Mqtt.MqttClient.InitState(); + + FunctionList.List.Read3tyFunctionStatus(); } }); downloadDataThread.IsBackground = true; @@ -337,15 +324,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