From d41f1d4a478c1afcc43f3a5abb0ba76e376bc7c1 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期二, 09 三月 2021 15:23:25 +0800 Subject: [PATCH] 2 --- HDL_ON/Common/ApiUtlis.cs | 148 +++++++++++++++++++++++++++--------------------- 1 files changed, 83 insertions(+), 65 deletions(-) diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index 8b144ce..3141f5d 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) { @@ -159,46 +159,59 @@ { deviceList = new DevcieApiPack(); } + string delFile = ""; + if (FunctionList.List.GetDeviceFunctionList().Count > 0) { - if (FunctionList.List.GetDeviceFunctionList().Count > 0) + + for (int i = 0; i < FunctionList.List.GetDeviceFunctionList().Count;) { - for (int i = 0; i < FunctionList.List.GetDeviceFunctionList().Count;) + var localFunction = FunctionList.List.GetDeviceFunctionList()[i]; + if (localFunction.Spk_Prefix == FunctionCategory.Music || string.IsNullOrEmpty(localFunction.Spk_Prefix)) { - var localFunction = FunctionList.List.GetDeviceFunctionList()[i]; - if (localFunction.functionCategory == FunctionCategory.Music) - { - i++; - continue; - } - var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); - if (newFunction == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍 - { - 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);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 - } + i++; + continue; } + var newFunction = deviceList.list.Find((obj) => obj.deviceId == localFunction.deviceId); + //if (newFunction == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍 + //{ + // 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(); + // //} + // localFunction = newFunction; + // localFunction.SaveFunctionFile(); + // deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 + //} + + if (delFile == localFunction.savePath) + { + i++; + continue; + } + delFile = localFunction.savePath; + FunctionList.List.DeleteFunction(localFunction); + } - //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� - foreach (var newFunction in deviceList.list) - { - newFunction.SaveFunctionFile(); - FunctionList.List.IniFunctionList(newFunction.savePath); - } + + + } + //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� + foreach (var newFunction in deviceList.list) + { + newFunction.SaveFunctionFile(); + FunctionList.List.IniFunctionList(newFunction.savePath); } endTime = DateTime.Now.AddSeconds(5); } @@ -217,39 +230,40 @@ if (sceneList == null) { sceneList = new List<Scene>(); - for (int i = 0; i < FunctionList.List.scenes.Count;) + } + for (int i = 0; i < FunctionList.List.scenes.Count;) + { + var localScene = FunctionList.List.scenes[i]; + if (localScene == null) { - 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.SaveSceneFile(); - } - sceneList.Remove(newScene);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 - } + FunctionList.List.scenes.Remove(localScene); + continue; } - //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� - foreach (var newScene in sceneList) + var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId); + if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍 { - newScene.SaveSceneFile(); - FunctionList.List.scenes.Add(newScene); + 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);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 + } + } + //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� + foreach (var tempScene in sceneList) + { + tempScene.SaveSceneFile(); + FunctionList.List.scenes.Add(tempScene); } //濡傛灉鏄竴绔彛闇�瑕佹彁鍓嶄笅杞藉満鏅暟鎹紝鍚﹀垯鎺у埗涓嶄簡涓�绔彛鍦烘櫙 if (DB_ResidenceData.Instance.GatewayType == 0) @@ -302,6 +316,10 @@ waitPage.Hide(); waitPage.RemoveFromParent(); }); + //涓嶈�冭檻缃戝叧鎯呭喌锛岀洿鎺ヨ闃� + DAL.Mqtt.MqttClient.InitState(); + + FunctionList.List.Read3tyFunctionStatus(); } }); downloadDataThread.IsBackground = true; -- Gitblit v1.8.0