From 5b268c9e665c7cd839fe1409efef09694660370b Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 09 三月 2021 10:19:15 +0800
Subject: [PATCH] 1
---
HDL_ON/Common/ApiUtlis.cs | 174 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 99 insertions(+), 75 deletions(-)
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index c023d17..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);
}
@@ -218,58 +231,65 @@
{
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)
{
+ var sceneIds = new List<string>();
foreach (var tempScene in FunctionList.List.scenes)
{
- var pcak = HttpRequest.GetSceneInfo(tempScene.userSceneId);
- if (pack.Code == StateCode.SUCCESS)
+ sceneIds.Add(tempScene.userSceneId);
+ }
+ var packInfo = HttpRequest.GetSceneListInfo(sceneIds);
+ if (packInfo.Code == StateCode.SUCCESS)
+ {
+ var serverTempList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(packInfo.Data.ToString());
+ foreach (var localScene in FunctionList.List.scenes)
{
- var serverTempList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
- var serverTemp = serverTempList.Find((obj) => obj.userSceneId == tempScene.userSceneId);
- tempScene.functions = serverTemp.functions;
- tempScene.SaveSceneFile();
+ var serverTemp = serverTempList.Find((obj) => obj.userSceneId == localScene.userSceneId);
+ if (serverTemp != null)
+ {
+ localScene.functions = serverTemp.functions;
+ localScene.SaveSceneFile();
+ }
}
- else
- {
- IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
- }
+ }
+ else
+ {
+ IMessageCommon.Current.ShowErrorInfoAlter(packInfo.Code);
}
}
endTime = DateTime.Now.AddSeconds(5);
@@ -296,6 +316,10 @@
waitPage.Hide();
waitPage.RemoveFromParent();
});
+ //涓嶈�冭檻缃戝叧鎯呭喌锛岀洿鎺ヨ闃�
+ DAL.Mqtt.MqttClient.InitState();
+
+ FunctionList.List.Read3tyFunctionStatus();
}
});
downloadDataThread.IsBackground = true;
--
Gitblit v1.8.0