DataManager.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using LitJson;
  6. using UnityEngine;
  7. using UnityEngine.Networking;
  8. using static Manager;
  9. public class DataManager : MonoBehaviour
  10. {
  11. public static DataManager Instance;
  12. private void Awake()
  13. {
  14. Instance = this;
  15. }
  16. public void GetJiFang(Action<ServerData> callback)
  17. {
  18. ServerData sd = new ServerData();
  19. sd.serverList = new List<ServerRoomData>();
  20. for (int i = 0; i < 8; i++)
  21. {
  22. ServerRoomData srd = new ServerRoomData();
  23. srd.id = i;
  24. srd.name = i + "_机房";
  25. sd.serverList.Add(srd);
  26. }
  27. callback.Invoke(sd);
  28. }
  29. IEnumerator getUsageInfo(ServerData data, Action<LineChartData> callback, int type)
  30. {
  31. string typestr = "last_month_usage";
  32. if (type == 0)
  33. {
  34. typestr = "last_week_usage";
  35. }
  36. LineChartData data2 = new LineChartData();
  37. data2.xdata = new List<string>();
  38. data2.sdata = new List<LineChartSeriesData>();
  39. yield return StartCoroutine(Post_Demo("/detail/electricUsageInfo", "", (string msg) =>
  40. {
  41. JsonData datamsg = JsonMapper.ToObject(msg);
  42. for (int j = 0; j < datamsg["data"][typestr].Count; j++)
  43. {
  44. if(!data2.xdata.Contains(datamsg["data"][typestr][j]["date"].ToString()))
  45. data2.xdata.Add(datamsg["data"][typestr][j]["date"].ToString());
  46. }
  47. for (int i = 0; i < data.serverList.Count; i++)
  48. {
  49. LineChartSeriesData lc = new LineChartSeriesData();
  50. lc.name = data.serverList[i].name;
  51. lc.values = new List<float>();
  52. for (int z = 0; z < datamsg["data"][typestr].Count; z++)
  53. {
  54. if(data.serverList[i].name == datamsg["data"][typestr][z]["server_room_name"].ToString())
  55. {
  56. lc.values.Add(float.Parse(datamsg["data"][typestr][z]["usage"].ToString()));
  57. }
  58. }
  59. data2.sdata.Add(lc);
  60. }
  61. }));
  62. callback.Invoke(data2);
  63. }
  64. public void GetDLBiao(Action<LineChartData> callback,int type)
  65. {
  66. GetWSD((data) =>
  67. {
  68. StartCoroutine(getUsageInfo(data, callback, type));
  69. });
  70. return;
  71. LineChartData data = new LineChartData();
  72. data.xdata = new List<string>();
  73. data.sdata = new List<LineChartSeriesData>();
  74. for (int i = 0; i < 20; i++)
  75. {
  76. data.xdata.Add("xdata_" + i);
  77. }
  78. for (int i = 0; i < 8; i++)
  79. {
  80. LineChartSeriesData lc = new LineChartSeriesData();
  81. lc.name = "数据_"+ i;
  82. lc.values = new List<float>();
  83. for (int j = 0; j < 20; j++)
  84. {
  85. lc.values.Add(UnityEngine.Random.Range(1, 1000));
  86. }
  87. data.sdata.Add(lc);
  88. }
  89. callback.Invoke(data);
  90. }
  91. public void GetJL(int id,Action<List<ServerJiLongData>> callback)
  92. {
  93. List<ServerJiLongData> list = new List<ServerJiLongData>();
  94. JsonData data = new JsonData();
  95. data["server_room_id"] = id;
  96. StartCoroutine(Post_Demo("/detail/rackElectricInfo", data.ToJson(), (string msg) => {
  97. JsonData data = JsonMapper.ToObject(msg);
  98. for (int i = 0; i < data["data"]["groups"].Count; i++)
  99. {
  100. ServerJiLongData jilong = new ServerJiLongData();
  101. jilong.id = i;
  102. jilong.name = data["data"]["groups"][i]["name"].ToString();
  103. jilong.jiguilist = new List<ServerjiguiData>();
  104. for (int z = 0; z < data["data"]["groups"][i]["racks"].Count; z++)
  105. {
  106. ServerjiguiData jg = new ServerjiguiData();
  107. jg.name = data["data"]["groups"][i]["racks"][z]["name"].ToString();
  108. jg.srz = float.Parse(data["data"]["groups"][i]["racks"][z]["last_day_usage"].ToString());
  109. jg.syz = float.Parse(data["data"]["groups"][i]["racks"][z]["last_month_usage"].ToString());
  110. jg.szz = float.Parse(data["data"]["groups"][i]["racks"][z]["last_week_usage"].ToString());
  111. jg.zgl = float.Parse(data["data"]["groups"][i]["racks"][z]["power"].ToString());
  112. jilong.jiguilist.Add(jg);
  113. }
  114. list.Add(jilong);
  115. }
  116. callback.Invoke(list);
  117. }));
  118. }
  119. public void GetDL(Action<ServerData> callback)
  120. {
  121. GetWSD((data) =>
  122. {
  123. for (int j = 0; j < data.serverList.Count; j++)
  124. {
  125. if(data.serverList[j].jilonglist==null)
  126. {
  127. data.serverList[j].jilonglist = new List<ServerJiLongData>();
  128. }
  129. }
  130. callback.Invoke(data);
  131. });
  132. return;
  133. ServerData sd = new ServerData();
  134. sd.serverList = new List<ServerRoomData>();
  135. for (int i = 0; i < 8; i++)
  136. {
  137. ServerRoomData srd = new ServerRoomData();
  138. srd.id = i;
  139. srd.name = i + "_机房";
  140. srd.zonggonglv = UnityEngine.Random.Range(30.0f, 40.0f);
  141. srd.shangridl = UnityEngine.Random.Range(30.0f, 40.0f);
  142. srd.jilonglist = new List<ServerJiLongData>();
  143. for (int j = 0; j < i; j++)
  144. {
  145. ServerJiLongData jilong = new ServerJiLongData();
  146. jilong.id = j;
  147. jilong.name = i + "_" + j;
  148. jilong.jiguilist = new List<ServerjiguiData>();
  149. int rand = UnityEngine.Random.Range(2,4)>2?4:2;
  150. for (int z = 0; z < rand; z++)
  151. {
  152. ServerjiguiData jg = new ServerjiguiData();
  153. jg.name = i + "_" + j + "_" + z;
  154. jg.srz = 123;
  155. jg.syz = 123;
  156. jg.szz = 123;
  157. jg.zgl = 123;
  158. jilong.jiguilist.Add(jg);
  159. }
  160. srd.jilonglist.Add(jilong);
  161. }
  162. sd.serverList.Add(srd);
  163. }
  164. callback.Invoke(sd);
  165. }
  166. public static string ip = "";
  167. public IEnumerator Post_Demo(string url,string lstformData,Action<string> callback)
  168. {
  169. Debug.Log("开始请求" + url + "_" + lstformData);
  170. while (ip=="")
  171. {
  172. Debug.Log("ip未设置" + ip + "_" + lstformData);
  173. yield return null;
  174. }
  175. string m_url = ip + url;
  176. Debug.Log("请求地址" + m_url + "_" + lstformData);
  177. var request = new UnityWebRequest(m_url, "POST");
  178. byte[] bodyRaw = Encoding.UTF8.GetBytes(lstformData);
  179. request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
  180. request.SetRequestHeader("Content-Type", "application/json");
  181. DownloadHandler downloadHandler = new DownloadHandlerBuffer();
  182. request.downloadHandler = downloadHandler;
  183. yield return request.SendWebRequest();
  184. if (string.IsNullOrEmpty(request.error))
  185. {//Post的请求成功 //Post请求的返回参数
  186. var data = request.downloadHandler.text;
  187. Debug.Log(m_url+"_"+ lstformData + "——成功:" + data);
  188. callback.Invoke(data);
  189. }
  190. else
  191. {//Post的请求失败
  192. Debug.Log(m_url + "失败"+ lstformData+"_"+ request.error);
  193. }
  194. }
  195. public void GetTwoWsdTb(int id,int rid, Action<List<LineChartData>> callback)
  196. {
  197. JsonData data = new JsonData();
  198. data["server_room_id"] = id;
  199. data["rack_id"] = rid;
  200. StartCoroutine(Post_Demo("/detail/tempHumiInfo", data.ToJson(), (string msg) =>
  201. {
  202. List<LineChartData> sjds = new List<LineChartData>();
  203. JsonData datamsg = JsonMapper.ToObject(msg);
  204. LineChartData data = new LineChartData();
  205. data.xdata = new List<string>();
  206. data.sdata = new List<LineChartSeriesData>();
  207. //24小时last_24h_temp 温度
  208. LineChartSeriesData lc = new LineChartSeriesData();
  209. lc.name = "温度";
  210. lc.values = new List<float>();
  211. for (int i = 0; i < datamsg["data"]["last_24h_temp"].Count; i++)
  212. {
  213. data.xdata.Add(datamsg["data"]["last_24h_temp"][i]["date"].ToString().Split(' ')[1]);
  214. lc.values.Add(float.Parse(datamsg["data"]["last_24h_temp"][i]["value"].ToString()));
  215. }
  216. data.sdata.Add(lc);
  217. //24小时last_24h_humi 温度
  218. LineChartSeriesData lc2 = new LineChartSeriesData();
  219. lc2.name = "湿度";
  220. lc2.values = new List<float>();
  221. for (int i = 0; i < datamsg["data"]["last_24h_humi"].Count; i++)
  222. {
  223. lc2.values.Add(float.Parse(datamsg["data"]["last_24h_humi"][i]["value"].ToString()));
  224. }
  225. data.sdata.Add(lc2);
  226. sjds.Add(data);
  227. data = new LineChartData();
  228. data.xdata = new List<string>();
  229. data.sdata = new List<LineChartSeriesData>();
  230. //24小时last_day_temp 温度
  231. lc = new LineChartSeriesData();
  232. lc.name = "温度";
  233. lc.values = new List<float>();
  234. for (int i = 0; i < datamsg["data"]["last_day_temp"].Count; i++)
  235. {
  236. data.xdata.Add(datamsg["data"]["last_day_temp"][i]["date"].ToString().Split(' ')[1]);
  237. lc.values.Add(float.Parse(datamsg["data"]["last_day_temp"][i]["value"].ToString()));
  238. }
  239. data.sdata.Add(lc);
  240. //24小时last_day_humi 温度
  241. lc2 = new LineChartSeriesData();
  242. lc2.name = "湿度";
  243. lc2.values = new List<float>();
  244. for (int i = 0; i < datamsg["data"]["last_day_humi"].Count; i++)
  245. {
  246. lc2.values.Add(float.Parse(datamsg["data"]["last_day_humi"][i]["value"].ToString()));
  247. }
  248. data.sdata.Add(lc2);
  249. sjds.Add(data);
  250. data = new LineChartData();
  251. data.xdata = new List<string>();
  252. data.sdata = new List<LineChartSeriesData>();
  253. //24小时last_weed_temp 温度
  254. lc = new LineChartSeriesData();
  255. lc.name = "温度";
  256. lc.values = new List<float>();
  257. for (int i = 0; i < datamsg["data"]["last_week_temp"].Count; i++)
  258. {
  259. data.xdata.Add(datamsg["data"]["last_week_temp"][i]["date"].ToString().Split(' ')[0]);
  260. lc.values.Add(float.Parse(datamsg["data"]["last_week_temp"][i]["value"].ToString()));
  261. }
  262. data.sdata.Add(lc);
  263. //24小时last_week_humi 温度
  264. lc2 = new LineChartSeriesData();
  265. lc2.name = "湿度";
  266. lc2.values = new List<float>();
  267. for (int i = 0; i < datamsg["data"]["last_week_humi"].Count; i++)
  268. {
  269. lc2.values.Add(float.Parse(datamsg["data"]["last_week_humi"][i]["value"].ToString()));
  270. }
  271. data.sdata.Add(lc2);
  272. sjds.Add(data); data = new LineChartData();
  273. data.xdata = new List<string>();
  274. data.sdata = new List<LineChartSeriesData>();
  275. //24小时last_weed_temp 温度
  276. lc = new LineChartSeriesData();
  277. lc.name = "温度";
  278. lc.values = new List<float>();
  279. for (int i = 0; i < datamsg["data"]["last_month_temp"].Count; i++)
  280. {
  281. data.xdata.Add(datamsg["data"]["last_month_temp"][i]["date"].ToString().Split(' ')[0]);
  282. lc.values.Add(float.Parse(datamsg["data"]["last_month_temp"][i]["value"].ToString()));
  283. }
  284. data.sdata.Add(lc);
  285. //24小时last_week_humi 温度
  286. lc2 = new LineChartSeriesData();
  287. lc2.name = "湿度";
  288. lc2.values = new List<float>();
  289. for (int i = 0; i < datamsg["data"]["last_month_humi"].Count; i++)
  290. {
  291. lc2.values.Add(float.Parse(datamsg["data"]["last_month_humi"][i]["value"].ToString()));
  292. }
  293. data.sdata.Add(lc2);
  294. sjds.Add(data);
  295. callback.Invoke(sjds);
  296. }));
  297. }
  298. public void GetTwoWsd(int id, Action<List<ServerjiguiData>> callback)
  299. {
  300. JsonData data = new JsonData();
  301. data["server_room_id"] = id;
  302. StartCoroutine(Post_Demo("/detail/rackTempHumi", data.ToJson(), (string msg) =>
  303. {
  304. List<ServerjiguiData> sjds = new List<ServerjiguiData>();
  305. JsonData data = JsonMapper.ToObject(msg);
  306. for (int i = 0; i < data["data"]["racks"].Count; i++)
  307. {
  308. ServerjiguiData sjd = new ServerjiguiData();
  309. sjd.id =int.Parse( data["data"]["racks"][i]["id"].ToString());
  310. sjd.name = data["data"]["racks"][i]["name"].ToString();
  311. sjd.shidu = float.Parse(data["data"]["racks"][i]["temp"].ToString());
  312. sjd.wendu = float.Parse(data["data"]["racks"][i]["humi"].ToString());
  313. sjds.Add(sjd);
  314. }
  315. callback.Invoke(sjds);
  316. }));
  317. }
  318. public void GetWSD(Action<ServerData> callback)
  319. {
  320. Debug.Log("获取温湿度===》");
  321. StartCoroutine(Post_Demo("/overview/serverroom","",(string msg)=> {
  322. JsonData data = JsonMapper.ToObject(msg);
  323. ServerData sd = new ServerData();
  324. sd.serverList = new List<ServerRoomData>();
  325. for (int i = 0; i < data["data"]["item_info"].Count; i++)
  326. {
  327. ServerRoomData srd = new ServerRoomData();
  328. srd.id = int.Parse(data["data"]["item_info"][i]["server_room_id"].ToString());
  329. srd.name = data["data"]["item_info"][i]["item_name"].ToString();
  330. srd.wendu = float.Parse(data["data"]["item_info"][i]["item_temp"].ToString());
  331. srd.shidu = float.Parse(data["data"]["item_info"][i]["item_humi"].ToString());
  332. try
  333. {
  334. srd.shangridl = float.Parse(data["data"]["item_info"][i]["item_lastday_usage"].ToString());
  335. srd.zonggonglv = float.Parse(data["data"]["item_info"][i]["item_total_power"].ToString());
  336. }
  337. catch
  338. {
  339. }
  340. sd.serverList.Add(srd);
  341. }
  342. callback.Invoke(sd);
  343. }));
  344. return;
  345. ServerData sd = new ServerData();
  346. sd.serverList = new List<ServerRoomData>();
  347. for (int i = 0; i < 8; i++)
  348. {
  349. ServerRoomData srd = new ServerRoomData();
  350. srd.id = i;
  351. srd.name = i + "_机房";
  352. srd.wendu = UnityEngine.Random.Range(30.0f, 40.0f);
  353. srd.shidu = UnityEngine.Random.Range(30.0f, 40.0f);
  354. srd.jilonglist = new List<ServerJiLongData>();
  355. for (int j = 0; j < i; j++)
  356. {
  357. ServerJiLongData jilong = new ServerJiLongData();
  358. jilong.id = j;
  359. jilong.name = i + "_" + j;
  360. jilong.jiguilist = new List<ServerjiguiData>();
  361. int rand = UnityEngine.Random.Range(2, 4) > 2 ? 4 : 2;
  362. for (int z = 0; z < rand; z++)
  363. {
  364. ServerjiguiData jg = new ServerjiguiData();
  365. jg.name = i + "_" + j + "_" + z;
  366. jg.wendu = 123;
  367. jg.shidu = 123;
  368. jilong.jiguilist.Add(jg);
  369. }
  370. srd.jilonglist.Add(jilong);
  371. }
  372. sd.serverList.Add(srd);
  373. }
  374. callback.Invoke(sd);
  375. }
  376. ServerRoomData checkroom(int id , List<ServerRoomData> roomdata )
  377. {
  378. for (int i = 0; i < roomdata.Count; i++)
  379. {
  380. if(roomdata[i].id == id)
  381. {
  382. return roomdata[i];
  383. }
  384. }
  385. return null;
  386. }
  387. public void GetVideo(Action<ServerData> callback)
  388. {
  389. Debug.Log("获取video===》");
  390. StartCoroutine(Post_Demo("/overview/serverLiveOverview", "", (string msg) => {
  391. JsonData data = JsonMapper.ToObject(msg);
  392. ServerData sd = new ServerData();
  393. sd.serverList = new List<ServerRoomData>();
  394. for (int i = 0; i < data["data"]["items"].Count; i++)
  395. {
  396. ServerRoomData srd = new ServerRoomData();
  397. srd.id = int.Parse(data["data"]["items"][i]["server_room_id"].ToString());
  398. srd.name = data["data"]["items"][i]["server_name"].ToString();
  399. srd.videolist = new List<ServerVideoData>();
  400. ServerVideoData svd = new ServerVideoData();
  401. svd.id = 1;
  402. svd.type = 0;
  403. svd.name = "机房摄像头";
  404. svd.url = new List<string>();
  405. srd.videolist.Add(svd);
  406. for (int j = 0; j < data["data"]["items"][i]["video_list"]["room"].Count; j++)
  407. {
  408. svd.url.Add(data["data"]["items"][i]["video_list"]["room"][j].ToString());
  409. }
  410. ServerVideoData svd2 = new ServerVideoData();
  411. svd2.id = 1;
  412. svd.type = 1;
  413. svd2.name = "机笼摄像头";
  414. svd2.url = new List<string>();
  415. srd.videolist.Add(svd2);
  416. for (int j = 0; j < data["data"]["items"][i]["video_list"]["rack"].Count; j++)
  417. {
  418. svd2.url.Add(data["data"]["items"][i]["video_list"]["rack"][j].ToString());
  419. }
  420. sd.serverList.Add(srd);
  421. }
  422. callback.Invoke(sd);
  423. }));
  424. return;
  425. ServerData sd = new ServerData();
  426. sd.serverList = new List<ServerRoomData>();
  427. for (int i = 0; i < 8; i++)
  428. {
  429. ServerRoomData srd = new ServerRoomData();
  430. srd.id = i;
  431. srd.videolist = new List<ServerVideoData>();
  432. ServerVideoData svd = new ServerVideoData();
  433. svd.id = 1;
  434. svd.name = "机房摄像头";
  435. svd.url = new List<string>();
  436. for (int j = 0; j < 8; j++)
  437. {
  438. svd.url.Add("https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/hls/xgplayer-demo.m3u8");
  439. }
  440. srd.videolist.Add(svd);
  441. ServerVideoData svd2 = new ServerVideoData();
  442. svd2.id = 1;
  443. svd2.name = "机笼摄像头";
  444. svd2.url = new List<string>();
  445. for (int j = 0; j < 8; j++)
  446. {
  447. svd2.url.Add("https://sf1-cdn-tos.huoshanstatic.com/obj/media-fe/xgplayer_doc_video/hls/xgplayer-demo.m3u8");
  448. }
  449. srd.videolist.Add(svd2);
  450. sd.serverList.Add(srd);
  451. }
  452. callback.Invoke(sd);
  453. }
  454. public void GetTongSuan(Action<TongSuanData> callback)
  455. {
  456. StartCoroutine(Post_Demo("/overview/generalResourceOverview", "", (string msg) =>
  457. {
  458. JsonData data = JsonMapper.ToObject(msg)["data"];
  459. TongSuanData jdata = new TongSuanData();
  460. jdata.devct = float.Parse(data["network_device_number"].ToString());
  461. jdata.serverct = float.Parse(data["server_number"].ToString());
  462. jdata.zhiji = float.Parse(data["host_number"].ToString());
  463. callback.Invoke(jdata);
  464. }));
  465. return;
  466. TongSuanData jdata = new TongSuanData();
  467. jdata.devct = 123;
  468. jdata.serverct = 123;
  469. jdata.zhiji = 123;
  470. callback.Invoke(jdata);
  471. }
  472. public void GetJianKongPt(Action<JianKongPtData> callback)
  473. {
  474. StartCoroutine(Post_Demo("/overview/monitor", "", (string msg) =>
  475. {
  476. JsonData data = JsonMapper.ToObject(msg)["data"];
  477. JianKongPtData jdata = new JianKongPtData();
  478. jdata.shijianct =float.Parse( data["strategy_number"].ToString()) ;
  479. jdata.zhixingct = float.Parse(data["plugin_number"].ToString());
  480. jdata.gaojingct = float.Parse(data["warn_number"].ToString());
  481. callback.Invoke(jdata);
  482. }));
  483. return;
  484. JianKongPtData jdata = new JianKongPtData();
  485. jdata.shijianct = 123;
  486. jdata.zhixingct = 123;
  487. jdata.gaojingct = 123;
  488. callback.Invoke(jdata);
  489. }
  490. public void GetSixServer(Action<List<PieChartData>> callback)
  491. {
  492. Debug.Log("6个服务器===》");
  493. StartCoroutine(Post_Demo("/overview/intelligentResourceOverview", "", (string msg) =>
  494. {
  495. JsonData data = JsonMapper.ToObject(msg);
  496. List<PieChartData> lp = new List<PieChartData>();
  497. for (int i = 0; i < 5; i++)
  498. {
  499. if(i< data["data"]["items"].Count)
  500. {
  501. PieChartData p = new PieChartData();
  502. p.title = data["data"]["items"][i]["name"].ToString();
  503. p.value = float.Parse(data["data"]["items"][i]["count"].ToString());
  504. p.items = new List<PieChartItemData>();
  505. foreach (var k in data["data"]["items"][i].Keys)
  506. {
  507. if (k != "name" && k != "count")
  508. {
  509. PieChartItemData idata1 = new PieChartItemData();
  510. idata1.name = k;
  511. idata1.value = float.Parse(data["data"]["items"][i][k].ToString().Split('%')[0]);
  512. p.items.Add(idata1);
  513. }
  514. }
  515. lp.Add(p);
  516. }
  517. else
  518. {
  519. PieChartData p = new PieChartData();
  520. p.title ="空";
  521. p.value = 0;
  522. p.items = new List<PieChartItemData>();
  523. PieChartItemData idata1 = new PieChartItemData();
  524. idata1.name = "空";
  525. idata1.value =0;
  526. p.items.Add(idata1);
  527. lp.Add(p);
  528. }
  529. }
  530. PieChartData p2 = new PieChartData();
  531. p2.title = data["data"]["flops"]["name"].ToString();
  532. p2.value = float.Parse(data["data"]["flops"]["value"].ToString().Split(' ')[0]);
  533. lp.Add(p2);
  534. callback.Invoke(lp);
  535. }));
  536. return;
  537. List<PieChartData> lp = new List<PieChartData>();
  538. for (int i = 0; i < 6; i++)
  539. {
  540. PieChartData p = new PieChartData();
  541. p.title = i.ToString();
  542. p.value = 1000000;
  543. p.items = new List<PieChartItemData>();
  544. PieChartItemData idata1 = new PieChartItemData();
  545. idata1.name = "RUN";
  546. idata1.value = 27;
  547. p.items.Add(idata1);
  548. PieChartItemData idata2 = new PieChartItemData();
  549. idata2.name = "IDLE";
  550. idata2.value = 27;
  551. p.items.Add(idata2);
  552. lp.Add(p);
  553. }
  554. callback.Invoke(lp);
  555. }
  556. public void GetK8s(Action<List<RingValueData>> callback)
  557. {
  558. Debug.Log("获取k8s===》");
  559. List<RingValueData> rvs = new List<RingValueData>();
  560. StartCoroutine(Post_Demo("/overview/kubernetsCluster", "", (string msg) =>
  561. {
  562. JsonData datamsg = JsonMapper.ToObject(msg);
  563. RingValueData d1 = new RingValueData();
  564. d1.value = datamsg["data"]["cluster_name"].ToString();
  565. RingValueData d2 = new RingValueData();
  566. d2.value = datamsg["data"]["cluster_status"].ToString();
  567. datamsg["data"]["cluster_status"].ToString();
  568. RingValueData d3 = new RingValueData();
  569. d3.value = datamsg["data"]["cluster_node_count"][0].ToString();
  570. d3.max = datamsg["data"]["cluster_node_count"][1].ToString();
  571. rvs.Add(d1);
  572. rvs.Add(d2);
  573. rvs.Add(d3);
  574. callback.Invoke(rvs);
  575. }));
  576. return;
  577. }
  578. public void GetGPUData(Action<LineChartData> callback)
  579. {
  580. Debug.Log("获取gpu===》");
  581. StartCoroutine(Post_Demo("/overview/gpupower", "", (string msg) => {
  582. JsonData datamsg = JsonMapper.ToObject(msg);
  583. LineChartData data = new LineChartData();
  584. data.xdata = new List<string>();
  585. data.sdata = new List<LineChartSeriesData>();
  586. LineChartSeriesData lc = new LineChartSeriesData();
  587. lc.name = "今日";
  588. lc.values = new List<float>();
  589. for (int i = 0; i < datamsg["data"][ "today_info"].Count; i++)
  590. {
  591. data.xdata.Add(datamsg["data"]["today_info"][i]["time"].ToString().Split(' ')[1]);
  592. lc.values.Add(float.Parse(datamsg["data"]["today_info"][i]["value"].ToString()));
  593. }
  594. data.sdata.Add(lc);
  595. LineChartSeriesData lc2 = new LineChartSeriesData();
  596. lc2.name = "昨日";
  597. lc2.values = new List<float>();
  598. for (int i = 0; i < datamsg["data"]["yesterday_info"].Count; i++)
  599. {
  600. lc2.values.Add(float.Parse( datamsg["data"]["yesterday_info"][i]["value"].ToString()));
  601. }
  602. data.sdata.Add(lc2);
  603. callback.Invoke(data);
  604. }));
  605. return;
  606. LineChartData data = new LineChartData();
  607. data.xdata = new List<string>();
  608. data.sdata = new List<LineChartSeriesData>();
  609. for (int i = 0; i < 10; i++)
  610. {
  611. data.xdata.Add("xdata_" + i);
  612. }
  613. LineChartSeriesData lc = new LineChartSeriesData();
  614. lc.name = "数据1";
  615. lc.values = new List<float>();
  616. for (int i = 0; i < 10; i++)
  617. {
  618. lc.values.Add(UnityEngine.Random.Range(1, 800));
  619. }
  620. data.sdata.Add(lc);
  621. LineChartSeriesData lc2 = new LineChartSeriesData();
  622. lc2.name = "数据2";
  623. lc2.values = new List<float>();
  624. for (int i = 0; i < 10; i++)
  625. {
  626. lc2.values.Add(UnityEngine.Random.Range(1, 800));
  627. }
  628. data.sdata.Add(lc2);
  629. callback.Invoke(data);
  630. }
  631. public void GetGaoJingData(Action<LineChartData> callback)
  632. {
  633. StartCoroutine(Post_Demo("/overview/warnData", "", (string msg) =>
  634. {
  635. JsonData datamsg = JsonMapper.ToObject(msg);
  636. LineChartData data = new LineChartData();
  637. data.xdata = new List<string>();
  638. data.sdata = new List<LineChartSeriesData>();
  639. for (int i = 0; i < datamsg["data"]["prop_ame"].Count; i++)
  640. {
  641. LineChartSeriesData lc = new LineChartSeriesData();
  642. lc.name = datamsg["data"]["prop_ame"][i].ToString();
  643. lc.values = new List<float>();
  644. data.sdata.Add(lc);
  645. }
  646. for (int i = 0; i < datamsg["data"]["items"].Count; i++)
  647. {
  648. data.xdata.Add(datamsg["data"]["items"][i]["date"].ToString());
  649. for (int j = 0; j < data.sdata.Count; j++)
  650. {
  651. data.sdata[j].values.Add(float.Parse(datamsg["data"]["items"][i]["prop_value"][j].ToString()));
  652. }
  653. }
  654. callback.Invoke(data);
  655. }));
  656. return;
  657. LineChartData data = new LineChartData();
  658. data.xdata = new List<string>();
  659. data.sdata = new List<LineChartSeriesData>();
  660. for (int i = 0; i < 20; i++)
  661. {
  662. data.xdata.Add("xdata_" + i);
  663. }
  664. LineChartSeriesData lc = new LineChartSeriesData();
  665. lc.name = "数据1";
  666. lc.values = new List<float>();
  667. for (int i = 0; i < 20; i++)
  668. {
  669. lc.values.Add(UnityEngine.Random.Range(1, 1000));
  670. }
  671. data.sdata.Add(lc);
  672. LineChartSeriesData lc2 = new LineChartSeriesData();
  673. lc2.name = "数据2";
  674. lc2.values = new List<float>();
  675. for (int i = 0; i < 20; i++)
  676. {
  677. lc2.values.Add(UnityEngine.Random.Range(1, 1000));
  678. }
  679. data.sdata.Add(lc2);
  680. LineChartSeriesData lc3 = new LineChartSeriesData();
  681. lc3.name = "数据3";
  682. lc3.values = new List<float>();
  683. for (int i = 0; i < 20; i++)
  684. {
  685. lc3.values.Add(UnityEngine.Random.Range(1, 1000));
  686. }
  687. data.sdata.Add(lc2);
  688. callback.Invoke(data);
  689. }
  690. public void GetGaoJingJiLuData(Action<GaoJingListData> callback)
  691. {
  692. StartCoroutine(Post_Demo("/overview/warnRecord", "", (string msg) =>
  693. {
  694. JsonData datamsg = JsonMapper.ToObject(msg);
  695. GaoJingListData gjl = new GaoJingListData();
  696. gjl.list = new List<GaoJingItemData>();
  697. for (int i = 0; i < datamsg["data"]["items"].Count; i++)
  698. {
  699. GaoJingItemData gjid = new GaoJingItemData();
  700. gjid.lv = datamsg["data"]["items"][i]["level"].ToString();
  701. gjid.time = datamsg["data"]["items"][i]["time"].ToString();
  702. gjid.dev = datamsg["data"]["items"][i]["device"].ToString();
  703. gjid.type = datamsg["data"]["items"][i]["status"].ToString();
  704. gjl.list.Add(gjid);
  705. }
  706. callback.Invoke(gjl);
  707. }));
  708. return;
  709. GaoJingListData gjl = new GaoJingListData();
  710. gjl.list = new List<GaoJingItemData>();
  711. for (int i = 0; i < 2; i++)
  712. {
  713. GaoJingItemData gjid = new GaoJingItemData();
  714. gjid.lv = "一般";
  715. gjid.time = "2024-1-1 00:11";
  716. gjid.dev = "111机房";
  717. gjid.type = "已解决";
  718. gjl.list.Add(gjid);
  719. }
  720. for (int i = 0; i < 2; i++)
  721. {
  722. GaoJingItemData gjid = new GaoJingItemData();
  723. gjid.lv = "紧急";
  724. gjid.time = "2024-1-1 00:11";
  725. gjid.dev = "111机房";
  726. gjid.type = "待解决";
  727. gjl.list.Add(gjid);
  728. }
  729. for (int i = 0; i < 2; i++)
  730. {
  731. GaoJingItemData gjid = new GaoJingItemData();
  732. gjid.lv = "严重";
  733. gjid.time = "2024-1-1 00:11";
  734. gjid.dev = "111机房";
  735. gjid.type = "已解决";
  736. gjl.list.Add(gjid);
  737. }
  738. callback.Invoke(gjl);
  739. }
  740. }