From 1026814d931de92f0da5f15a58870565a94100e0 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 11 一月 2021 14:37:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/NewFilePath' into WJC --- HDL_ON/Common/ApiUtlis.cs | 217 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 130 insertions(+), 87 deletions(-) diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index 24eac42..ca5bc48 100644 --- a/HDL_ON/Common/ApiUtlis.cs +++ b/HDL_ON/Common/ApiUtlis.cs @@ -19,7 +19,7 @@ { get { - if(apiUtlis == null) + if (apiUtlis == null) { apiUtlis = new ApiUtlis(); } @@ -33,7 +33,7 @@ { get { - if(httpRequest == null) + if (httpRequest == null) { httpRequest = new HttpServerRequest(); } @@ -47,7 +47,7 @@ { bool result = DB_ResidenceData.Instance.HomeGateway.gatewayStatus; - if(!result) + if (!result) { } @@ -64,7 +64,7 @@ if (MainPage.InternetStatus == 0) return; //绾跨▼寮�濮嬫椂闂� - var endTime = DateTime.Now.AddSeconds(6); + var endTime = DateTime.Now.AddSeconds(5); MainPage.Log($"寮�濮嬪悓姝ヤ簯绔暟鎹�"); @@ -86,6 +86,7 @@ MainPage.Log($"鍒锋柊token澶辫触"); return; } + endTime = DateTime.Now.AddSeconds(5); MainPage.Log($"鍒锋柊token鎴愬姛"); //===================鍒锋柊浣忓畢淇℃伅======================= code = Ins.HttpRequest.GetHomePager(); @@ -94,6 +95,7 @@ MainPage.Log($"鍒锋柊浣忓畢淇℃伅澶辫触"); return; } + endTime = DateTime.Now.AddSeconds(5); MainPage.Log($"鍒锋柊浣忓畢淇℃伅鎴愬姛"); //===================鍒锋柊涓汉淇℃伅======================= code = Ins.HttpRequest.GetUserInfo(); @@ -102,25 +104,26 @@ MainPage.Log($"鍒锋柊涓汉淇℃伅澶辫触"); return; } + 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; - } + //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 @@ -129,12 +132,17 @@ var roomResult = Ins.HttpRequest.GetRoomList(); if (roomResult.Code == StateCode.SUCCESS) { + endTime = DateTime.Now.AddSeconds(100); MainPage.Log($"璇诲彇鎴块棿淇℃伅鎴愬姛"); var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<SpatialApiPack>(roomResult.Data.ToString()); - if (revData != null) + if (revData == null) { - SpatialInfo.CurrentSpatial.UpdateSpatialList(revData.list, OptionType.Cover); + revData = new SpatialApiPack(); } + { + SpatialInfo.CurrentSpatial.UpdateSpatialList(revData.list); + } + endTime = DateTime.Now.AddSeconds(5); } else { @@ -144,49 +152,53 @@ var deviceResult = Ins.HttpRequest.GetDeviceList(); if (deviceResult.Code == StateCode.SUCCESS) { + endTime = DateTime.Now.AddSeconds(100); MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛"); var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString()); - if (deviceList != null) + if (deviceList == null) { - if (FunctionList.List.GetDeviceFunctionList().Count > 0) + deviceList = new DevcieApiPack(); + } + 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) { - 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) { - i++; - continue; + //鍙紭鍖� + localFunction.name = newFunction.name; + localFunction.collect = newFunction.collect; + localFunction.modifyTime = newFunction.modifyTime; + localFunction.roomIds = newFunction.roomIds; + localFunction.bus = newFunction.bus; + localFunction.SaveFunctionFile(); } - 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.SaveFunctionData(false); - } - deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 - } + deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘 } } - //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� - foreach (var newFunction in deviceList.list) - { - newFunction.SaveFunctionData(false); - FunctionList.List.IniFunctionList(newFunction.savePath); - } } + //澶勭悊鍓╀笅鐨勬柊澧炲姛鑳� + foreach (var newFunction in deviceList.list) + { + newFunction.SaveFunctionFile(); + FunctionList.List.IniFunctionList(newFunction.savePath); + } + endTime = DateTime.Now.AddSeconds(5); } else { @@ -197,44 +209,75 @@ var pack = Ins.HttpRequest.GetSceneList(); if (pack.Code == StateCode.SUCCESS) { + endTime = DateTime.Now.AddSeconds(100); MainPage.Log($"璇诲彇鍦烘櫙鏁版嵁鎴愬姛"); var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString()); - if (sceneList != null) + if (sceneList == null) { - for (int i = 0; i < FunctionList.List.scenes.Count;) + sceneList = new List<Scene>(); + } + 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.SaveSceneData(false); - } - 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.SaveSceneData(false); - 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) + { + 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 serverTemp = serverTempList.Find((obj) => obj.userSceneId == localScene.userSceneId); + if (serverTemp != null) + { + localScene.functions = serverTemp.functions; + localScene.SaveSceneFile(); + } + } + } + else + { + IMessageCommon.Current.ShowErrorInfoAlter(packInfo.Code); + } + } + endTime = DateTime.Now.AddSeconds(5); } else { @@ -305,4 +348,4 @@ { IsBackground = true }.Start(); } } -} +} \ No newline at end of file -- Gitblit v1.8.0