From b822232f0743d22e5bd3847eb993894bf090b214 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期二, 02 七月 2024 15:33:48 +0800 Subject: [PATCH] 备份 --- HDL_ON/Common/ApiUtlis.cs | 134 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 113 insertions(+), 21 deletions(-) diff --git a/HDL_ON/Common/ApiUtlis.cs b/HDL_ON/Common/ApiUtlis.cs index 14070c4..d8172bf 100644 --- a/HDL_ON/Common/ApiUtlis.cs +++ b/HDL_ON/Common/ApiUtlis.cs @@ -72,12 +72,14 @@ /// 涓嬭浇鏁版嵁瀹屾垚鏍囪 /// </summary> public bool DownloadDataComplete = false; + + public bool hadInternet = true; /// <summary> /// 涓嬭浇鏁版嵁 /// </summary> public void DownloadData() { - if (MainPage.InternetStatus == 0 || MainPage.NoLoginMode) + if (MainPage.NoLoginMode) { DownloadDataComplete = true; return; @@ -93,10 +95,82 @@ MainPage.BaseView.AddChidren(waitPage); waitPage.Start(Language.StringByID(StringId.PleaseWait)); + string code = StateCode.SUCCESS; var downloadDataThread = new System.Threading.Thread(() => { + try + { + //澧炲姞3绉掍簯鏈嶅姟鍣ㄨ繛鎺ユ娴嬶紝杩炰笉涓婃湇鍔″櫒鐨勬椂鍊欎笉鍒锋柊鏁版嵁 + hadInternet = true; + var dataList = new List<GlobalRegionListRes>(); + var requestJson = HttpUtil.GetSignRequestJson(new GetRegionListObj() { regionMark = HttpUtil.RegionMark }); + var revertObj = HttpUtil.RequestHttpsPost(NewAPI.API_POST_GlobalRegionList, requestJson, HttpUtil.GlobalRequestHttpsHost, "", 3); + if (revertObj == null || revertObj.Code != StateCode.SUCCESS) + { + DownloadDataComplete = true; + hadInternet = false; + try + { + var spatialInfoDataBytes = FileUtlis.Files.ReadFile("SpatialInfoData"); + if (spatialInfoDataBytes != null) + { + var spatialInfoDataString = System.Text.Encoding.UTF8.GetString(spatialInfoDataBytes); + if (spatialInfoDataString != null && !string.IsNullOrEmpty(spatialInfoDataString)) + { + var spatialInfoDataList = JsonConvert.DeserializeObject<List<SpatialInfo>>(spatialInfoDataString); + SpatialInfo.CurrentSpatial.UpdateSpatialList(spatialInfoDataList); + } + } + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()}:鍔犺浇缂撳瓨鎴块棿鏁版嵁寮傚父:{ex.Message}"); + } + + try + { + var fileList = Common.FileUtlis.Files.ReadFiles(); + foreach (var file in fileList) + { + FunctionList.List.IniFunctionList(file, true); + } + Room.CurrentSpatial.InitRoomListFunctions(); + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()}:鍔犺浇缂撳瓨璁惧鏁版嵁寮傚父:{ex.Message}"); + } + + + return; + } + else + { + hadInternet = true; + } + } + catch (Exception ex) + { + MainPage.Log($"Error锛氫笅杞芥暟鎹�1锛歿ex.Message}"); + DownloadDataComplete = true; + return; + } + finally + { + if (!hadInternet) + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.Hide(); + waitPage.RemoveFromParent(); + } + }); + } + } MainPage.Log($"杩涘叆璇诲彇浜戠鏁版嵁绾跨▼"); //===================鍒锋柊Token======================= code = Ins.HttpRequest.RefreshToken(); @@ -189,13 +263,26 @@ if (roomResult.Code == StateCode.SUCCESS) { MainPage.Log($"璇诲彇鎴块棿淇℃伅鎴愬姛"); - var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<SpatialApiPack>(roomResult.Data.ToString()); + var revData = JsonConvert.DeserializeObject<SpatialApiPack>(roomResult.Data.ToString()); if (revData == null) { revData = new SpatialApiPack(); } { SpatialInfo.CurrentSpatial.UpdateSpatialList(revData.list); + new System.Threading.Thread(() => + { + try + { + var ssd = System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(revData.list)); + FileUtlis.Files.WriteFileByBytes("SpatialInfoData", ssd); + } + catch (Exception ex) + { + MainPage.Log($"{this.GetType()}:淇濆瓨鎴块棿淇℃伅寮傚父锛歿ex.Message}"); + } + }) + { IsBackground = true }.Start(); } } else @@ -215,7 +302,7 @@ FunctionList.List.ClearDatas(); //MainPage.Log($"============璁惧============寮�濮�" + FunctionList.List.Functions.Count); //MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛"); - MainPage.Log($"sid鍒楄〃鑾峰彇====\r\n" , deviceResult.Data.ToString()); + MainPage.Log($"sid鍒楄〃鑾峰彇====\r\n", deviceResult.Data.ToString()); var deviceList = JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString()); if (deviceList == null) { @@ -239,7 +326,7 @@ } finally { - + } string delFile = ""; @@ -270,8 +357,8 @@ foreach (var newFunction in deviceList.list) { newFunction.AssembleStatus(); - newFunction.SaveFunctionFile(); - FunctionList.List.IniFunctionList(newFunction.savePath,true); + newFunction.SaveFunctionFile(); + FunctionList.List.IniFunctionList(newFunction.savePath, true); //MainPage.Log($"============璁惧============{iiii++}"); } @@ -293,7 +380,7 @@ string videoList = videoInfo.Data.ToString(); FunctionList.List.videoIntercom = JsonConvert.DeserializeObject<List<UI.UI2.FuntionControlView.Video.Video>>(videoList); - for(int i =0;i< FunctionList.List.videoIntercom.Count;i++) + for (int i = 0; i < FunctionList.List.videoIntercom.Count; i++) { var video = FunctionList.List.videoIntercom[i]; @@ -302,6 +389,7 @@ isInterphoneType_HDL = true; DB_ResidenceData.Instance.SupportFacePass = true; DB_ResidenceData.Instance.SaveResidenceData(); + } } } @@ -311,7 +399,7 @@ //濡傛灉妫�娴嬬嚎绋嬫病鍚姩锛屾墠缁х画涓嬮潰鎿嶄綔 鍥犱负App鏈夊彲鑳藉垰鍚姩椹笂鏀跺埌鎺ㄩ�佷簡锛岀劧鍚庢墠鎵ц鍒拌繖閲� if (HDLLinphone.Current.CheckIncomingCallThreadIsNull()) { - + //褰撳墠浣忓畢鏄疕DL鍙瀵硅绫诲瀷鐨勮澶� if (isInterphoneType_HDL) { @@ -328,12 +416,14 @@ HDLLinphone.Current.LogoutAllAccount(); } } + } else { MainPage.Log($"璇诲彇浜戠璁惧鏁版嵁澶辫触:Code:{deviceResult.Code}; Msg:{deviceResult.message}"); } - }catch (Exception ex) + } + catch (Exception ex) { MainPage.Log($"============璁惧============{ex.Message}"); } @@ -356,16 +446,16 @@ { var groupControlList = JsonConvert.DeserializeObject<List<GroupControl>>(pack.Data.ToString()); var readSidList = new List<string>(); - foreach(var temp in groupControlList) + foreach (var temp in groupControlList) { FunctionList.List.groupControls.Clear(); readSidList.Add(temp.userDeviceGroupControlId); if (readSidList.Count >= 20) { var data = Ins.httpRequest.GetGroupControInfo(readSidList); - if(data != null) + if (data != null) { - if(data.Code == StateCode.SUCCESS) + if (data.Code == StateCode.SUCCESS) { var groupControlInfoList = JsonConvert.DeserializeObject<List<GroupControl>>(data.Data.ToString()); FunctionList.List.groupControls.AddRange(groupControlInfoList); @@ -461,7 +551,8 @@ { MainPage.Log($"璇诲彇浜戠鍦烘櫙鏁版嵁澶辫触:Code:{pack.Code}; Msg:{pack.message}"); } - }catch(Exception ex) + } + catch (Exception ex) { MainPage.Log($"===鍦烘櫙==={ex.Message}"); } @@ -503,9 +594,10 @@ try { FunctionList.List.Read3tyFunctionStatus(); - }catch(Exception ex) + } + catch (Exception ex) { - MainPage.Log("璇诲彇绗笁鏂硅澶囩姸鎬佸け璐�:"+ex.Message); + MainPage.Log("璇诲彇绗笁鏂硅澶囩姸鎬佸け璐�:" + ex.Message); } } }); @@ -520,7 +612,7 @@ { while (endTime1 > DateTime.Now) { - if ( complateDevice && complateScene) + if (complateDevice && complateScene) { break; } @@ -541,12 +633,12 @@ { if (DB_ResidenceData.Instance.CurrentRegion != null) { -#region 璇诲彇鏈湴鏁版嵁 + #region 璇诲彇鏈湴鏁版嵁 //鎼滅储缃戝叧 DriverLayer.Control.Ins.SearchLoaclGateway(); //閲嶆柊杩炴帴mqtt - DAL.Mqtt.MqttClient.DisConnectRemote("鍒锋柊鏁版嵁锛岄噸杩瀖qtt",false); -#endregion + DAL.Mqtt.MqttClient.DisConnectRemote("鍒锋柊鏁版嵁锛岄噸杩瀖qtt", false); + #endregion } } @@ -565,10 +657,10 @@ MainPage.Log($"璇诲彇璁惧淇℃伅鎴愬姛"); var packList = JsonConvert.DeserializeObject<DevcieApiPack>(deviceResult.Data.ToString()); - foreach(var function in packList.list) + foreach (var function in packList.list) { function.SaveFunctionFile(); - FunctionList.List.IniFunctionList(function.savePath,true); + FunctionList.List.IniFunctionList(function.savePath, true); } } } -- Gitblit v1.8.0