using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using UnityAsync; using Best.HTTP; using Best.HTTP.JSON; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using UnityEngine; using UnityEngine.Networking; using Unity.VisualScripting; using static System.Net.WebRequestMethods; public class HttpHelper : MonoBehaviour { public Action OnSWYJRefresh; public static HttpHelper _Instance; public static Dictionary _devicesIdDatas = new Dictionary(); public const int timeOut = 3; private async void Awake() { _Instance = this; if (GlobalData.pageIndex == PageIndex.Page1 || GlobalData.pageIndex == PageIndex.Page2 || GlobalData.pageIndex == PageIndex.Page3) { Debug.Log("HttpInitYZTData"); //可以并行,无需等待 InitYZTData(); } if (GlobalData.pageIndex == PageIndex.Page1) { GetSensorList(); SendBuYuan_GetSensorData(); SendTaoKou_GetSensorData(); GetBuYuanDevicesGroupInfo(); } if (GlobalData.pageIndex == PageIndex.Page1) { Debug.Log("InitXHGKData"); //可以并行,无需等待 InitXHGKData();//已完成迁移 } if (GlobalData.pageIndex == PageIndex.Page1) { Debug.Log("HttpInitGCJKData"); //可以并行,无需等待 InitGCJKData(); } if (GlobalData.pageIndex == PageIndex.Page1) { Debug.Log("HttpInitXHDDData"); //可以并行,无需等待 InitXHDDData(); } if (GlobalData.pageIndex == PageIndex.Page1) { Debug.Log("HttpInitRKZYData"); //可以并行,无需等待 InitRKZYData(); } if (GlobalData.pageIndex == PageIndex.Page1 || GlobalData.pageIndex == PageIndex.Page2) { Debug.Log("HttpInitSWYJData"); //可以并行,无需等待 InitSWYJData(); } if (GlobalData.pageIndex == PageIndex.Page1 || GlobalData.pageIndex == PageIndex.Page2) { Debug.Log("HttpInitGCYWData1"); //可以并行,无需等待 InitGCYWData1(0); } if (GlobalData.pageIndex == PageIndex.Page1 || GlobalData.pageIndex == PageIndex.Page2 || GlobalData.pageIndex == PageIndex.Page3) { Debug.Log("HttpInitFloorGateData"); InitFloorGateData(); } if (GlobalData.pageIndex == PageIndex.Page2) { Debug.Log("HttpInitDPSWData"); InitDPSWData(); } if (GlobalData.pageIndex == PageIndex.Page2) { Debug.Log("HttpInitGCYWData2"); InitGCYWData2(); } if (GlobalData.pageIndex == PageIndex.Page2) { Debug.Log("HttpInitYJSJData2"); InitYJSJData2(); } } private async Task InitGCYWData2() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetInspectionStatistics); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("大屏运维数据联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.InspectionStat = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("大屏运维数据联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("大屏运维数据联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/inspectionStatistics.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); GlobalData.InspectionStat = JsonConvert.DeserializeObject>(www.text); www.Dispose(); } } private async Task InitYJSJData2() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetAlertData); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("大屏预警数据联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.alertData = JsonConvert.DeserializeObject(dataToken.ToString()); GlobalData.alertData.success = true; } else { Debug.LogWarning("大屏预警数据联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("大屏预警数据联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/alertData.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); Debug.Log(www.text); GlobalData.alertData = JsonConvert.DeserializeObject(www.text.ToString()); GlobalData.alertData.success = true; Debug.Log(GlobalData.alertData.alerts.threeLineWarnings[0].title); www.Dispose(); } } private async Task InitFloorGateData() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetFloodGateData); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("大屏闸口数据联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.floorGateData = JsonConvert.DeserializeObject(dataToken.ToString()); GlobalData.floorGateData.success = true; } else { Debug.LogWarning("大屏闸口数据联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("大屏闸口数据联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/floodGateStatusData.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); Debug.Log(www.text); GlobalData.floorGateData = JsonConvert.DeserializeObject(www.text.ToString()); GlobalData.floorGateData.success = true; www.Dispose(); } } private async Task InitDPSWData() { GlobalData.locationWeatherData = new List(); bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetHydrologicalData + "?projectType=1"); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("大屏水文数据联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { LocationWeatherData data1 = JsonConvert.DeserializeObject(dataToken.ToString()); GlobalData.locationWeatherData.Add(data1); } else { Debug.LogWarning("大屏水文数据联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("大屏水文数据联网不成功,读本地缓存数据,原因:" + e.ToString()); } UnityWebRequest requestData1 = UnityWebRequest.Get(ServerAddress.APIGetHydrologicalData + "?projectType=2"); requestData1.timeout = timeOut; await requestData1.SendWebRequest(); try { if (requestData1.result != UnityWebRequest.Result.Success) { Debug.LogWarning("大屏水文数据联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData1.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { LocationWeatherData data2 = JsonConvert.DeserializeObject(dataToken.ToString()); GlobalData.locationWeatherData.Add(data2); } else { Debug.LogWarning("大屏水文数据联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("大屏水文数据联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/hydrologicalData.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); Debug.Log(www.text); GlobalData.locationWeatherData = JsonConvert.DeserializeObject>(www.text.ToString()); www.Dispose(); } } public async Task InitYZTData() { InitYZTData1();//已完成迁移 InitYZTData_BY_Obs();//已完成迁移 InitYZTData_TK_Obs();//新增 InitYZTData3();//已完成迁移 } public async Task InitYZTData1() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetWaterManagerProject); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("YZTLayer联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.layerUnitDatas = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("YZTLayer联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("YZTLayer联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/layerUnitDatas.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); GlobalData.layerUnitDatas = JsonConvert.DeserializeObject>(www.text); www.Dispose(); } for (int i = 0; i < GlobalData.layerUnitDatas.Count; i++) { if (GlobalData.layerUnitDatas[i].type == LayerUnitType.JK) { GlobalData.obsCameraLib.Add(GlobalData.layerUnitDatas[i].name, GlobalData.layerUnitDatas[i].namePri); } } } public async Task InitYZTData_BY_Obs() { bool successInternet = true; string sendUrl = ServerAddress.API_GetDevicesInfo; sendUrl += "/34020000001180000001/channels?page=1&count=100"; Debug.Log(sendUrl); UnityWebRequest requestData = UnityWebRequest.Get(sendUrl); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("补元监控数据联网不成功,原因:返request不成功:" + requestData.error); successInternet = false; } else { Debug.Log("补元监控数据返回:"+requestData.downloadHandler.text); JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "0") { GlobalData.obsDatas_by = new List(); ServerObsDatas serverObsDatas = JsonConvert.DeserializeObject(dataToken.ToString()); for (int i = 0; i < serverObsDatas.list.Count; i++) { ObsData obsData = new ObsData(); obsData.name = serverObsDatas.list[i].name; if (GlobalData.obsCameraLib.TryGetValue(obsData.name, out var value)) { obsData.targetName = value; } // if (i > 0) // { // obsData.url = // "http://www.chatgpt918.top:9080/rtp/34020000001180000001_34020000001310000001/hls.m3u8"; // } // else // { //obsData.url = await GetObsUrl(serverObsDatas.list[i].deviceId,serverObsDatas.list[i].channelId); //Debug.Log("!!!:"+obsData.url); //obsData.url = ServerAddress.ObsSeverM3U8Address + string.Format("/rtp/{0}_{1}/hls.m3u8", serverObsDatas.list[i].deviceId, serverObsDatas.list[i].channelId); //} obsData.type = obsType.BuYuanObs; obsData.deviceId = serverObsDatas.list[i].deviceId; obsData.channelId = serverObsDatas.list[i].channelId; obsData.status = serverObsDatas.list[i].status; GlobalData.obsDatas_by.Add(obsData); } } else { Debug.LogWarning("补元监控数据联网不成功,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("补元监控数据联网不成功,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/ObsDatas_BY.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); Debug.Log($"缓存数据:{www.text}"); GlobalData.obsDatas_by = JsonConvert.DeserializeObject>(www.text); www.Dispose(); } } public async Task InitYZTData_TK_Obs() { bool successInternet = true; string sendUrl = ServerAddress.API_GetDevicesInfo; sendUrl += "/34020000001180000002/channels?page=1&count=100"; Debug.Log(sendUrl); UnityWebRequest requestData = UnityWebRequest.Get(sendUrl); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("套口监控数据联网不成功,原因:返request不成功:" + requestData.error); successInternet = false; } else { Debug.Log("套口监控数据返回:"+requestData.downloadHandler.text); JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "0") { GlobalData.obsDatas_tk = new List(); ServerObsDatas serverObsDatas = JsonConvert.DeserializeObject(dataToken.ToString()); for (int i = 0; i < serverObsDatas.list.Count; i++) { ObsData obsData = new ObsData(); obsData.name = serverObsDatas.list[i].name; if (GlobalData.obsCameraLib.TryGetValue(obsData.name, out var value)) { obsData.targetName = value; } //obsData.url = await GetObsUrl(serverObsDatas.list[i].deviceId,serverObsDatas.list[i].channelId); //ServerAddress.ObsSeverM3U8Address + string.Format("/rtp/{0}_{1}/hls.m3u8", serverObsDatas.list[i].deviceId, serverObsDatas.list[i].channelId); //} obsData.type = obsType.TaoKouObs; obsData.deviceId = serverObsDatas.list[i].deviceId; obsData.channelId = serverObsDatas.list[i].channelId; obsData.status = serverObsDatas.list[i].status; GlobalData.obsDatas_tk.Add(obsData); } } else { Debug.LogWarning("套口监控数据联网不成功,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("套口监控数据联网不成功,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/ObsDatas_TK.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); Debug.Log($"缓存数据:{www.text}"); GlobalData.obsDatas_tk = JsonConvert.DeserializeObject>(www.text); www.Dispose(); } } public async Task GetObsUrl(string deviceId,string channelId) { string result = ""; string cmdUrl = ServerAddress.API_PlayStart; cmdUrl += $"/{deviceId}/{channelId}"; Debug.Log($"send:{cmdUrl}"); UnityWebRequest requestData = UnityWebRequest.Get(cmdUrl); await requestData.SendWebRequest(); if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning($"获取监控播放地址不成功,原因:返request不成功:" + requestData.downloadHandler.text); } else { Debug.Log(requestData.downloadHandler.text); JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; ObsPlayUrlData urlData = JsonConvert.DeserializeObject(dataToken.ToString()); result = urlData.hls; Debug.Log("获取到监控播放路径:"+result); } requestData.Dispose(); return result; } public async Task InitYZTData3() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetWaterHotPoint); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("YZTLayer联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.hotPointDatas = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("YZTLayer联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("YZTLayer联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/hotPoints.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); GlobalData.hotPointDatas = JsonConvert.DeserializeObject>(www.text); Debug.Log(GlobalData.hotPointDatas.Count); www.Dispose(); } } public async Task InitXHGKData() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetGetProjectMilestones); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("XHGKLayer联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // ȡdata ֶε ֵ JToken dataToken = jsonObject["data"]; //Debug.Log(dataToken.ToString()); JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.dsjContents = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("XHGKLayer联网不成功,读本地缓存数据,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("XHGKLayer联网不成功,读本地缓存数据,原因:" + e.ToString()); } requestData.Dispose(); if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/dsj.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); GlobalData.dsjContents = JsonConvert.DeserializeObject>(www.text); www.Dispose(); } } public async Task InitGCJKData() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetGeQXZData); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("水文站联网不成功,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.qXZDatas = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("水文站联网不成功,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("水文站联网不成功,原因:" + e.ToString()); } requestData.Dispose(); successInternet = true; UnityWebRequest requestData1 = UnityWebRequest.Get(ServerAddress.APIGetGeSWZData); await requestData1.SendWebRequest(); try { if (requestData1.result != UnityWebRequest.Result.Success) { Debug.LogWarning("水文站联网不成功,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData1.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.sWZDatas = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("水文站联网不成功,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("水文站联网不成功,原因:" + e.ToString()); } requestData1.Dispose(); } public async Task InitXHDDData() { WWW www = new WWW(Application.streamingAssetsPath + "/scheduling.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); GlobalData.schedulingData = JsonConvert.DeserializeObject(www.text); www.Dispose(); } public async Task InitRKZYData() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetGetMovePlans); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (true) { Debug.LogWarning("RKZYLayer联网不成功,读本地缓存数据,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.allServerMovePlans = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { successInternet = false; Debug.LogWarning("XHGKLayer联网不成功,读本地缓存数据,原因:返序列化失败"); } } } catch (Exception e) { successInternet = false; Debug.LogWarning("RKZYLayer联网不成功,读本地缓存数据,原因:" + e.ToString()); } if (!successInternet) { WWW www = new WWW(Application.streamingAssetsPath + "/moveplan.json"); await new UnityAsync.WaitUntil(() => { return www.isDone; }); GlobalData.allServerMovePlans = JsonConvert.DeserializeObject>(www.text); www.Dispose(); } } public async Task InitSWYJData() { InitSWYJData0(); await InitSWYJData1(); await InitSWYJData2(); OnSWYJRefresh?.Invoke(); } public async Task InitSWYJData1() { GlobalData.BuYuanShuiWeiDataList = new List(); var devicesInfo = _devicesIdDatas["上游水位计"]; string sw1Result = await GetSingleDevicesInfo(devicesInfo.dataGid, devicesInfo.dataSid, 24); try { GetDevicesRequestData tempData = JsonConvert.DeserializeObject(sw1Result); if (tempData != null) { GlobalData.BuYuanShuiWeiDataList.Add(new ShuiWeiData() { name = "补元上游水位", targetName = "BY_ShuiWei_Up", value = tempData.datas[0].NodeValue / 100, type = shuiWeiType.BuYuanShuiWei, datas = tempData.datas.ToArray() }); } } catch (Exception e) { Debug.LogWarning("补元上游水位不成功,原因:" + e.ToString()); } var devicesInfo1 = _devicesIdDatas["下游水位计"]; string sw2Result = await GetSingleDevicesInfo(devicesInfo1.dataGid, devicesInfo1.dataSid, 24); try { GetDevicesRequestData tempData = JsonConvert.DeserializeObject(sw2Result); if (tempData != null) { GlobalData.BuYuanShuiWeiDataList.Add(new ShuiWeiData() { name = "补元下游水位", targetName = "BY_ShuiWei_Down", value = tempData.datas[0].NodeValue / 100, type = shuiWeiType.BuYuanShuiWei, datas = tempData.datas.ToArray() }); } } catch (Exception e) { Debug.LogWarning("补元下游水位不成功,原因:" + e.ToString()); } string dayResult = await GetSingleDevicesInfo_day(devicesInfo.dataGid, devicesInfo.dataSid, 6); try { GetDevicesRequestData tempData = JsonConvert.DeserializeObject(dayResult); GlobalData.buYuanShuiWei_day = new ShuiWeiBianHuaData(); GlobalData.buYuanShuiWei_day.name = new string[6]; GlobalData.buYuanShuiWei_day.value = new double[6]; for (int i = 0; i < tempData.datas.Count; i++) { GlobalData.buYuanShuiWei_day.name[i] = tempData.datas[i].RecvTime; GlobalData.buYuanShuiWei_day.value[i] = tempData.datas[i].NodeValue; } } catch (Exception e) { Debug.LogWarning("获取6天平均数据不成功,原因:" + e.ToString()); } string monthResult = await GetSingleDevicesInfo_month(devicesInfo.dataGid, devicesInfo.dataSid, 6); try { GetDevicesRequestData tempData = JsonConvert.DeserializeObject(monthResult); GlobalData.buYuanShuiWei_month = new ShuiWeiBianHuaData(); GlobalData.buYuanShuiWei_month.name = new string[6]; GlobalData.buYuanShuiWei_month.value = new double[6]; for (int i = 0; i < tempData.datas.Count; i++) { GlobalData.buYuanShuiWei_month.name[i] = tempData.datas[i].RecvTime; GlobalData.buYuanShuiWei_month.value[i] = tempData.datas[i].NodeValue; } } catch (Exception e) { Debug.LogWarning("获取6月平均数据不成功,原因:" + e.ToString()); } string hourResult = await GetSingleDevicesInfo_hour(devicesInfo.dataGid, devicesInfo.dataSid, 6); try { GetDevicesRequestData tempData = JsonConvert.DeserializeObject(hourResult); GlobalData.buYuanShuiWei_hour = new ShuiWeiBianHuaData(); GlobalData.buYuanShuiWei_hour.name = new string[6]; GlobalData.buYuanShuiWei_hour.value = new double[6]; for (int i = 0; i < tempData.datas.Count; i++) { GlobalData.buYuanShuiWei_hour.name[i] = tempData.datas[i].RecvTime; GlobalData.buYuanShuiWei_hour.value[i] = tempData.datas[i].NodeValue; } } catch (Exception e) { Debug.LogWarning("获取6小时平均数据不成功,原因:" + e.ToString()); } } public async Task InitSWYJData2() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetGeSWData); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("水位高度联网不成功,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.swDatas = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("水位高度联网不成功,原因:返序列化失败"); successInternet = false; } for (int i = 0; i < GlobalData.BuYuanShuiWeiDataList.Count; i++) { StationData stationData = new StationData(); stationData.LGTD = 113.910187f; stationData.LTTD = 30.1765823f; stationData.STNM = GlobalData.BuYuanShuiWeiDataList[i].name; stationData.upz = GlobalData.BuYuanShuiWeiDataList[i].name.Contains("上") ? GlobalData.BuYuanShuiWeiDataList[i].value : -1; stationData.dwz = GlobalData.BuYuanShuiWeiDataList[i].name.Contains("下") ? GlobalData.BuYuanShuiWeiDataList[i].value : -1; GlobalData.swDatas.Add(stationData); } } } catch (Exception e) { successInternet = false; Debug.LogWarning("水位高度联网不成功,原因:" + e.ToString()); } } public async Task InitSWYJData0() { bool successInternet = true; UnityWebRequest requestData = UnityWebRequest.Get(ServerAddress.APIGetThreeLevel); requestData.timeout = timeOut; await requestData.SendWebRequest(); try { if (requestData.result != UnityWebRequest.Result.Success) { Debug.LogWarning("三线水位联网不成功,原因:返request不成功"); successInternet = false; } else { JObject jsonObject = JObject.Parse(requestData.downloadHandler.text); // 提取data字段的值 JToken dataToken = jsonObject["data"]; JToken codeToken = jsonObject["code"]; if (codeToken.ToString() == "200") { GlobalData.threeLevelShuiWeiDatas = JsonConvert.DeserializeObject>(dataToken.ToString()); } else { Debug.LogWarning("三线水位联网不成功,原因:返序列化失败"); successInternet = false; } } } catch (Exception e) { successInternet = false; Debug.LogWarning("三线水位联网不成功,原因:" + e.ToString()); } } public async Task SendBuYuan_GetSensorData() { UnityWebRequest www = UnityWebRequest.Get(ServerAddress.API_BuYuan_GetSensorData); await www.SendWebRequest(); try { if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning("获取补元闸门设备数据不成功,原因:返request不成功:" + www.downloadHandler.text); } else { GlobalData.buYuanSensorData = JsonUtility.FromJson(www.downloadHandler.text); } } catch (Exception e) { Debug.LogWarning("获取补元闸门设备数据不成功,原因:" + e.ToString()); } www.Dispose(); } public async Task GetBuYuanDevicesGroupInfo() { //获取所有渗压记 GetDevicesData tempData = new GetDevicesData(); tempData.idsList = new List(); foreach (var device in _devicesIdDatas.Values) { if (device.stationName.Equals("补元") && device.sensorType.Equals("渗压计")) { tempData.idsList.Add(new DevicesMessage() { DeviceID = device.dataSid, ChannelID = device.dataGid }); } } // for (int i = 0; i < 13; i++) // { // var devicesInfo = _devicesIdDatas[$"P{i + 1}"]; // tempData.idsList.Add(new DevicesMessage() // { // DeviceID = devicesInfo.dataSid, // ChannelID = devicesInfo.dataGid // }); // } string jsonStr; try { jsonStr = await Devices(tempData); jsonStr = "{\"datas\":" + jsonStr + "}"; Debug.Log(jsonStr); GetDevicesRequestData resultData = JsonUtility.FromJson(jsonStr); GlobalData.BuYuanShuiYaDataList = new List(); for (int i = 0; i < resultData.datas.Count; i++) { GlobalData.BuYuanShuiYaDataList.Add(new ShuiYaData() { name = resultData.datas[i].NodeName, value = resultData.datas[i].NodeValue, type = shuiYaType.BuYuanShuiYa, targetName = $"BY_{resultData.datas[i].NodeName}" }); } } catch (Exception e) { Debug.LogWarning("获取补元水压计设备数据不成功,原因:" + e.ToString()); throw; } //获取所有位移记 tempData = new GetDevicesData(); tempData.idsList = new List(); foreach (var device in _devicesIdDatas.Values) { if (device.stationName.Equals("补元") && device.sensorType.Equals("静力水准仪")) { tempData.idsList.Add(new DevicesMessage() { DeviceID = device.dataSid, ChannelID = device.dataGid }); } } // for (int i = 0; i < 8; i++) // { // var devicesInfo = _devicesIdDatas[$"M{i + 1}"]; // tempData.idsList.Add(new DevicesMessage() // { // DeviceID = devicesInfo.dataSid, // ChannelID = devicesInfo.dataGid // }); // } try { jsonStr = await Devices(tempData); jsonStr = "{\"datas\":" + jsonStr + "}"; GetDevicesRequestData resultData = JsonUtility.FromJson(jsonStr); GlobalData.BuYuanWeiYiDataList = new List(); for (int i = 0; i < resultData.datas.Count; i++) { GlobalData.BuYuanWeiYiDataList.Add(new WeiYiData() { name = resultData.datas[i].NodeName, value = resultData.datas[i].NodeValue, type = weiYiType.BuYuanWeiYi, targetName = $"BY_{resultData.datas[i].NodeName}" }); } } catch (Exception e) { Debug.LogWarning("获取补元位移计设备数据不成功,原因:" + e.ToString()); throw; } } public async Task SendTaoKou_GetSensorData() { UnityWebRequest www = UnityWebRequest.Get(ServerAddress.API_TaoKou_GetSensorData); await www.SendWebRequest(); try { if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning("获取套口闸门设备数据不成功,原因:返request不成功:" + www.downloadHandler.text); } else { GlobalData.taoKouSensorData = JsonUtility.FromJson(www.downloadHandler.text); } } catch (Exception e) { Debug.LogWarning("获取套口闸门设备数据不成功,原因:" + e.ToString()); } www.Dispose(); } /// /// 获取补元硬件组数据 /// /// /// public async Task Devices(GetDevicesData sendData) { string cmdUrl = ServerAddress.API_BuYuan_GetDevicesGroupInfo; string tempStr = JsonConvert.SerializeObject(sendData); var sendByte = System.Text.Encoding.UTF8.GetBytes(tempStr); UnityWebRequest www = new UnityWebRequest(cmdUrl, "POST"); www.uploadHandler = new UploadHandlerRaw(sendByte); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning($"获取设备数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } /// /// 获取设备的最近N条记录 /// /// /// /// /// public async Task GetSingleDevicesInfo(int channelId, int deviceId, int count) { string cmdUrl = ServerAddress.API_BuYuan_GetSingleDevicesInfo; GetSingleDeviceData sendData = new GetSingleDeviceData(); sendData.ChannelID = channelId; sendData.DeviceID = deviceId; sendData.N = count; string tempStr = JsonConvert.SerializeObject(sendData); var sendByte = System.Text.Encoding.UTF8.GetBytes(tempStr); UnityWebRequest www = new UnityWebRequest(cmdUrl, "POST"); www.uploadHandler = new UploadHandlerRaw(sendByte); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning("获取设备数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } /// /// 获取设备最近几天的平均数据 /// /// /// /// /// public async Task GetSingleDevicesInfo_day(int channelId, int deviceId, int count) { string cmdUrl = ServerAddress.API_BuYuan_GetSingleDevicesInfo_avg; GetSingleDeviceData_AvgType sendData = new GetSingleDeviceData_AvgType(); sendData.ChannelID = channelId; sendData.DeviceID = deviceId; sendData.AvgType = "day"; sendData.N = count; string tempStr = JsonConvert.SerializeObject(sendData); var sendByte = System.Text.Encoding.UTF8.GetBytes(tempStr); UnityWebRequest www = new UnityWebRequest(cmdUrl, "POST"); www.uploadHandler = new UploadHandlerRaw(sendByte); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning("获取设备天平均数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } /// /// 获取设备最近几小时的平均数据 /// /// /// /// /// public async Task GetSingleDevicesInfo_hour(int channelId, int deviceId, int count) { string cmdUrl = ServerAddress.API_BuYuan_GetSingleDevicesInfo_avg; GetSingleDeviceData_AvgType sendData = new GetSingleDeviceData_AvgType(); sendData.ChannelID = channelId; sendData.DeviceID = deviceId; sendData.AvgType = "hour"; sendData.N = count; string tempStr = JsonConvert.SerializeObject(sendData); var sendByte = System.Text.Encoding.UTF8.GetBytes(tempStr); UnityWebRequest www = new UnityWebRequest(cmdUrl, "POST"); www.uploadHandler = new UploadHandlerRaw(sendByte); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning("获取设备小时平均数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } /// /// 获取设备最近几个月的平均数据 /// /// /// /// /// public async Task GetSingleDevicesInfo_month(int channelId, int deviceId, int count) { string cmdUrl = ServerAddress.API_BuYuan_GetSingleDevicesInfo_avg; GetSingleDeviceData_AvgType sendData = new GetSingleDeviceData_AvgType(); sendData.ChannelID = channelId; sendData.DeviceID = deviceId; sendData.AvgType = "month"; sendData.N = count; string tempStr = JsonConvert.SerializeObject(sendData); var sendByte = System.Text.Encoding.UTF8.GetBytes(tempStr); UnityWebRequest www = new UnityWebRequest(cmdUrl, "POST"); www.uploadHandler = new UploadHandlerRaw(sendByte); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning("获取设备月平均数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } /// /// 0 补元 1套口 /// /// public async Task InitGCYWData1(int type) { GlobalData.B08_Type = type; string jsonStr; try { jsonStr = await B08_API_data(ServerAddress.API_B08_dataStatis,type); Debug.Log("API_B08_dataStatis" + jsonStr); GlobalData.B08DataStatis = JsonConvert.DeserializeObject(jsonStr); } catch (Exception e) { Debug.LogWarning("获取API_B08_dataStatis数据不成功,原因:" + e.ToString()); } try { jsonStr = await B08_API_data(ServerAddress.API_B08_inspectResult,type); Debug.Log("API_B08_inspectResult" + jsonStr); GlobalData.B08InspectResult = JsonConvert.DeserializeObject(jsonStr); } catch (Exception e) { Debug.LogWarning("获取API_B08_inspectResult数据不成功,原因:" + e.ToString()); } try { jsonStr = await B08_API_data(ServerAddress.API_B08_projectExamine,type); Debug.Log("API_B08_projectExamine" + jsonStr); GlobalData.B08ProjectExamine = JsonConvert.DeserializeObject(jsonStr); } catch (Exception e) { Debug.LogWarning("获取API_B08_projectExamine数据不成功,原因:" + e.ToString()); } try { jsonStr = await B08_API_data(ServerAddress.API_B08_event,type); Debug.Log("API_B08_event" + jsonStr); GlobalData.B08Event = JsonConvert.DeserializeObject(jsonStr); } catch (Exception e) { Debug.LogWarning("获取API_B08_event数据不成功,原因:" + e.ToString()); } try { jsonStr = await B08_API_data(ServerAddress.API_B08_questionStatis,type); Debug.Log("API_B08_questionStatis" + jsonStr); GlobalData.B08QuestionStatis = JsonConvert.DeserializeObject(jsonStr); } catch (Exception e) { Debug.LogWarning("获取API_B08_questionStatis数据不成功,原因:" + e.ToString()); } try { jsonStr = await B08_API_data(ServerAddress.API_B08_inspectType,type); Debug.Log("API_B08_inspectType" + jsonStr); GlobalData.B08InspectType = JsonConvert.DeserializeObject(jsonStr); } catch (Exception e) { Debug.LogWarning("获取API_B08_inspectType数据不成功,原因:" + e.ToString()); } } public async Task B08_API_data(string cmdUrl,int type) { if (type == 0) { cmdUrl += "1794245918999351298"; } else { cmdUrl += "1798366756789653505"; } UnityWebRequest www = new UnityWebRequest(cmdUrl, "Get"); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning($"获取{cmdUrl}数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } /// /// 获取站点水位信息 /// /// /// public async Task GetWaterTrend_Chart(string stcd) { UnityWebRequest www = new UnityWebRequest(ServerAddress.API_GetWaterTrend_chart+stcd, "Get"); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning($"获取stcd:{stcd},水位统计信息数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } public async Task GetWaterTrend_List(string stcd) { UnityWebRequest www = new UnityWebRequest(ServerAddress.API_GetWaterTrend_list+stcd, "Get"); www.downloadHandler = new DownloadHandlerBuffer(); www.SetRequestHeader("Content-Type", "application/json"); await www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogWarning($"获取stcd:{stcd},水位统计信息数据不成功,原因:返request不成功:" + www.downloadHandler.text); } string result = www.downloadHandler.text; www.Dispose(); return result; } public void SaveFirstFrame(byte[] uploadData, string fileName, string _targetName) { StartCoroutine(SendSaveFirstFrame(uploadData, fileName, _targetName)); } IEnumerator SendSaveFirstFrame(byte[] uploadData, string fileName, string _targetName) { Debug.Log(fileName); WWWForm form = new WWWForm(); form.AddBinaryData("file", uploadData, fileName); UnityWebRequest www = UnityWebRequest.Post(ServerAddress.API_TextureUploadPath, form); yield return www.SendWebRequest(); if (www.result == UnityWebRequest.Result.Success) { ActionInstance._Instance.obsFmUpdata?.Invoke(_targetName); } Debug.Log(www.downloadHandler.text); www.Dispose(); } #region 摄像头远程控制 public void GetDeviceChannelId(string deviceId, Action callBack) { StartCoroutine(SendGetDevicesChannel(deviceId, 1, 1, callBack)); } IEnumerator SendGetDevicesChannel(string deviceId, int page, int count, Action call) { string sendUrl = ServerAddress.API_GetDevicesInfo; sendUrl += $"/{deviceId}/channels?page={page}&count={count}&query&online&channelType&catalogUnderDevice"; UnityWebRequest www = UnityWebRequest.Get(sendUrl); yield return www.SendWebRequest(); ObsHttpRequestData tempData = JsonConvert.DeserializeObject(www.downloadHandler.text); GetObsChannelRequestData channelData = tempData.data.ToObject(); call?.Invoke(channelData.list[0].channelId); www.Dispose(); } IEnumerator SendStartRTSP(string deviceId, string channelId) { string sendUrl = ServerAddress.API_PlayStart; sendUrl += $"/{deviceId}/{channelId}"; UnityWebRequest www = UnityWebRequest.Get(sendUrl); yield return www.SendWebRequest(); Debug.Log(www.downloadHandler.text); www.Dispose(); } public void SendObsCameraCtrlCmd(string deviceId, string channelId, ObsCtrlType type) { StartCoroutine(SendCameraCtrl(deviceId, channelId, type.ToString())); } IEnumerator SendCameraCtrl(string deviceId, string channelId, string command) { string sendUrl = ServerAddress.API_CameraCtrl; sendUrl += $"/{deviceId}/{channelId}?command={command}&horizonSpeed=10&verticalSpeed=10&zoomSpeed=10"; UnityWebRequest www = UnityWebRequest.Post(sendUrl, ""); Debug.Log("send:" + sendUrl); yield return www.SendWebRequest(); Debug.Log(www.downloadHandler.text); www.Dispose(); } #endregion // /// // /// 所有硬件设备的获取信息 // /// public async Task GetSensorList() { bool successInternet = true; UnityWebRequest www = UnityWebRequest.Get(ServerAddress.API_GetAllSensorList); await www.SendWebRequest(); try { if (www.result != UnityWebRequest.Result.Success) { successInternet = false; Debug.LogWarning("获取设备数据不成功,原因:返request不成功:" + www.downloadHandler.text); } else { SensorListResult tempData = JsonUtility.FromJson(www.downloadHandler.text); _devicesIdDatas = new Dictionary(); for (int i = 0; i < tempData.rows.Count; i++) { _devicesIdDatas.Add(tempData.rows[i].sensorName, tempData.rows[i]); } Debug.Log($"初始化设备列表成功!!! count:{tempData.total}"); } } catch (Exception e) { successInternet = false; Debug.LogWarning("获取设备数据不成功,原因:" + e.ToString()); } www.Dispose(); if (!successInternet) { WWW localWWW = new WWW(Application.streamingAssetsPath + "/SensorList.json"); await new UnityAsync.WaitUntil(() => { return localWWW.isDone; }); SensorListResult tempData = JsonUtility.FromJson(www.downloadHandler.text); _devicesIdDatas = new Dictionary(); for (int i = 0; i < tempData.rows.Count; i++) { _devicesIdDatas.Add(tempData.rows[i].sensorName, tempData.rows[i]); } Debug.Log($"读取本地初始化设备列表成功!!! count:{tempData.total}"); www.Dispose(); } } // /// // /// 初始化所有补元硬件设备的获取信息 // /// // public void InItBuYuanDevicesList() // { // _devicesIdDatas = new Dictionary(); // // _devicesIdDatas.Add("上游水位计", new DevicesId_Data() // { // dataGid = 7, // dataSid = 4, // sensorName = "上游水位计", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("下游水位计", new DevicesId_Data() // { // dataGid = 8, // dataSid = 4, // sensorName = "上游水位计", // realtimeValue1 = -1 // }); // // #region P // // _devicesIdDatas.Add("P1", new DevicesId_Data() // { // dataGid = 1, // dataSid = 2, // sensorName = "P1/UP1", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P2", new DevicesId_Data() // { // dataGid = 2, // dataSid = 2, // sensorName = "P2/UP2", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P3", new DevicesId_Data() // { // dataGid = 3, // dataSid = 2, // sensorName = "P3", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P4", new DevicesId_Data() // { // dataGid = 4, // dataSid = 2, // sensorName = "P4/UP3", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P5", new DevicesId_Data() // { // dataGid = 1, // dataSid = 3, // sensorName = "P5/UP5", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P6", new DevicesId_Data() // { // dataGid = 2, // dataSid = 3, // sensorName = "P6/", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P7", new DevicesId_Data() // { // dataGid = 3, // dataSid = 3, // sensorName = "P7/UP5", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P8", new DevicesId_Data() // { // dataGid = 4, // dataSid = 3, // sensorName = "P8/UP6", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P5温度", new DevicesId_Data() // { // dataGid = 9, // dataSid = 3, // sensorName = "P5温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P6温度", new DevicesId_Data() // { // dataGid = 10, // dataSid = 3, // sensorName = "P6温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P7温度", new DevicesId_Data() // { // dataGid = 11, // dataSid = 3, // sensorName = "P7温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P8温度", new DevicesId_Data() // { // dataGid = 12, // dataSid = 3, // sensorName = "P8温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P9温度", new DevicesId_Data() // { // dataGid = 9, // dataSid = 4, // sensorName = "P9温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P10温度", new DevicesId_Data() // { // dataGid = 10, // dataSid = 4, // sensorName = "P10温度", // realtimeValue1 = -1 // }); // // _devicesIdDatas.Add("P12温度", new DevicesId_Data() // { // dataGid = 11, // dataSid = 4, // sensorName = "P12温度", // realtimeValue1 = -1 // }); // // _devicesIdDatas.Add("P9", new DevicesId_Data() // { // dataGid = 3, // dataSid = 4, // sensorName = "P9", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P10", new DevicesId_Data() // { // dataGid = 4, // dataSid = 4, // sensorName = "P10/UP7", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P11", new DevicesId_Data() // { // dataGid = 5, // dataSid = 4, // sensorName = "P11/UP8", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add("P12", new DevicesId_Data() // { // dataGid = 1, // dataSid = 4, // sensorName = "P12/UP9", // realtimeValue1 = -1 // }); // // _devicesIdDatas.Add("P13", new DevicesId_Data() // { // dataGid = 2, // dataSid = 4, // sensorName = "P13/UP10", // realtimeValue1 = -1 // }); // // #endregion // // #region M // // //M1-8 // int m_cid = 1; // int m_did = 5; // for (int i = 0; i < 8; i++) // { // _devicesIdDatas.Add($"M{i + 1}", new DevicesId_Data() // { // dataGid = m_cid + i, // dataSid = m_did, // sensorName = $"M{i + 1}", // realtimeValue1 = -1 // }); // } // // //M温度 // _devicesIdDatas.Add($"M2温度", new DevicesId_Data() // { // dataGid = 10, // dataSid = 5, // sensorName = $"M2温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add($"M5温度", new DevicesId_Data() // { // dataGid = 13, // dataSid = 5, // sensorName = $"M5温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add($"M6温度", new DevicesId_Data() // { // dataGid = 14, // dataSid = 5, // sensorName = $"M6温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add($"M7温度", new DevicesId_Data() // { // dataGid = 15, // dataSid = 5, // sensorName = $"M7温度", // realtimeValue1 = -1 // }); // _devicesIdDatas.Add($"M8温度", new DevicesId_Data() // { // dataGid = 16, // dataSid = 5, // sensorName = $"M8温度", // realtimeValue1 = -1 // }); // // #endregion // } }