From d814c978efc068425c500a553cf7ec6b4f628219 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 十二月 2020 22:27:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/CJL' into NewFilePath
---
HDL_ON/Common/ApiUtlis.cs | 96 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 79 insertions(+), 17 deletions(-)
diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs
index c564f63..52a8ac9 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)
{
}
@@ -55,7 +55,7 @@
return result;
}
- public bool DownloadDataComplete = false;
+ public bool DownloadDataComplete = true;
/// <summary>
/// 涓嬭浇鏁版嵁
/// </summary>
@@ -63,19 +63,25 @@
{
if (MainPage.InternetStatus == 0)
return;
+ //绾跨▼寮�濮嬫椂闂�
+ var endTime = DateTime.Now.AddSeconds(6);
+
+ MainPage.Log($"寮�濮嬪悓姝ヤ簯绔暟鎹�");
DownloadDataComplete = false;
var waitPage = new Loading();
MainPage.BaseView.AddChidren(waitPage);
- waitPage.Start();
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
string code = StateCode.SUCCESS;
- new System.Threading.Thread(() => {
+ var downloadDataThread = new System.Threading.Thread(() =>
+ {
+ MainPage.Log($"杩涘叆璇诲彇浜戠鏁版嵁绾跨▼");
//===================鍒锋柊Token=======================
code = Ins.HttpRequest.RefreshToken();
- if(code != StateCode.SUCCESS)
+ if (code != StateCode.SUCCESS)
{
MainPage.Log($"鍒锋柊token澶辫触");
return;
@@ -125,9 +131,12 @@
{
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);
}
}
else
@@ -140,7 +149,10 @@
{
MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛");
var deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString());
- if (deviceList != null)
+ if (deviceList == null)
+ {
+ deviceList = new DevcieApiPack();
+ }
{
if (FunctionList.List.GetDeviceFunctionList().Count > 0)
{
@@ -163,12 +175,13 @@
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);
+ localFunction.SaveFunctionFile();
}
deviceList.list.Remove(newFunction);//鎿嶄綔瀹岀殑鏁版嵁娓呯悊鎺夛紝鍓╀笅鐨勫氨鏄柊澧炵殑鍔熻兘
}
@@ -177,7 +190,7 @@
//澶勭悊鍓╀笅鐨勬柊澧炲姛鑳�
foreach (var newFunction in deviceList.list)
{
- newFunction.SaveFunctionData(false);
+ newFunction.SaveFunctionFile();
FunctionList.List.IniFunctionList(newFunction.savePath);
}
}
@@ -191,9 +204,12 @@
var pack = Ins.HttpRequest.GetSceneList();
if (pack.Code == StateCode.SUCCESS)
{
- MainPage.Log($"璇诲彇鍦烘櫙鏁版嵁鎴愬姛");//:\r\n{pack.Data.ToString()}");
+ MainPage.Log($"璇诲彇鍦烘櫙鏁版嵁鎴愬姛");
var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
- if (sceneList != null)
+ if (sceneList == null)
+ {
+ sceneList = new List<Scene>();
+ }
{
for (int i = 0; i < FunctionList.List.scenes.Count;)
{
@@ -237,20 +253,66 @@
//===================璇诲彇閫昏緫鍒楄〃==========================
UI.UI2.Intelligence.Automation.MainView.GetLogicList();
- }catch(Exception ex)
+ }
+ catch (Exception ex)
{
MainPage.Log($"鏁版嵁鍒濆鍖栧け璐ワ細{ex.Message}");
}
finally
{
- Application.RunOnMainThread(() => {
+ Application.RunOnMainThread(() =>
+ {
+ MainPage.Log($"缁撴潫璇诲彇浜戠鏁版嵁绾跨▼");
+ endTime = DateTime.MinValue;
DownloadDataComplete = true;
waitPage.Hide();
waitPage.RemoveFromParent();
});
}
+ });
+ downloadDataThread.IsBackground = true;
+ downloadDataThread.Priority = System.Threading.ThreadPriority.Highest;
+ downloadDataThread.Start();
+
+ //缃戠粶鍗¢】锛岀粓姝笅杞界嚎绋�
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ while (endTime > DateTime.Now)
+ {
+ if (DownloadDataComplete)
+ {
+ break;
+ }
+ System.Threading.Thread.Sleep(100);
+ }
+ if (!DownloadDataComplete)
+ {
+ //downloadDataThread.Abort();
+ }
+ DownloadDataComplete = true;
+ Application.RunOnMainThread(() =>
+ {
+ waitPage.Hide();
+ waitPage.RemoveFromParent();
+ });
+ //鍒濆鍖栨暟鎹�
+ //SpatialInfo.CurrentSpatial.Clear();
+
+ }
+ catch { }
+ finally
+ {
+ #region 璇诲彇鏈湴鏁版嵁
+ //璇诲彇闊充箰淇℃伅
+ UI.Music.A31MusicModel.ReadMusicStates();
+ //鎼滅储缃戝叧
+ DriverLayer.Control.Ins.SearchLoaclGateway();
+ #endregion
+ }
})
{ IsBackground = true }.Start();
}
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0