GQ_Communicate/GQ_URP/GQ/Assets/script/红外监测/IRPopup.cs

237 lines
7.8 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Newtonsoft.Json;
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
using static IRPopup;
using System.Linq;
using Newtonsoft.Json.Linq;
/// <summary>
/// 红外
/// </summary>
public class IRPopup : MonoBehaviour
{
public Root myroot = new Root();
//public Msg msg = new Msg();
public JObject msg;
public Root_Data root_Data = new Root_Data();
public List<Data> data = new List<Data>();
public static IRPopup Inst;
public Transform content;
public RectTransform content_ret;
public GridLayoutGroup content_grid;
public GameObject prefab;
public Button cls_bt;
public GameObject popup;
float x;
float y;
private void Awake()
{
Inst = this;
x = content_ret.sizeDelta.x;
popup.SetActive(false);
}
// Start is called before the first frame update
void Start()
{
cls_bt.onClick.AddListener(() =>
{
popup.SetActive(false);
});
}
// Update is called once per frame
void Update()
{
if (popup.activeSelf)
{
y = content_grid.padding.top + content.childCount * content_grid.cellSize.y + (content.childCount - 1) * content_grid.spacing.y;
content_ret.sizeDelta = new Vector2(x, y);
}
}
/// <summary>
/// 加载红外检测详情
/// </summary>
public void LoadmoreDetails()
{
//StartCoroutine(CombineJSON.GetJson_GET(GameManager.Inst.Jk_URL.hwjc_cx, GameManager.Inst.arguments.token, (jsonResult) =>
//{
var jsonResult = "{\"code\":\"000000\",\"message\":\"操作成功\",\"data\":{\"personFlag\":\"1\",\"data\":\"{\\\"result\\\":0,\\\"remark\\\":\\\"\\\",\\\"data\\\":[{\\\"alarmid\\\":\\\"A6304521252331213883\\\",\\\"alarmcode\\\":\\\"1\\\",\\\"typeflag\\\":1,\\\"title\\\":\\\"someone intrusion!\\\",\\\"deveui\\\":\\\"1@004a770062c0042f\\\",\\\"devtype\\\":\\\"sensor_infrared_intrusion\\\",\\\"alarmlevel\\\":1,\\\"alarmtime\\\":\\\"2024-04-28 16:15:07\\\",\\\"descp\\\":\\\"\\\",\\\"cleartime\\\":null,\\\"confirmstate\\\":0,\\\"confirmtime\\\":null,\\\"confirmer\\\":null,\\\"remark\\\":null,\\\"devname\\\":\\\"人体红外传感器-3\\\",\\\"addr\\\":\\\"\\\",\\\"relaobjid\\\":null,\\\"relaobjtype\\\":0,\\\"relaobjname\\\":null},{\\\"alarmid\\\":\\\"A4800272191298919822\\\",\\\"alarmcode\\\":\\\"1\\\",\\\"typeflag\\\":1,\\\"title\\\":\\\"someone intrusion!\\\",\\\"deveui\\\":\\\"1@004a770062c004e7\\\",\\\"devtype\\\":\\\"sensor_infrared_intrusion\\\",\\\"alarmlevel\\\":1,\\\"alarmtime\\\":\\\"2024-04-28 16:14:01\\\",\\\"descp\\\":\\\"\\\",\\\"cleartime\\\":null,\\\"confirmstate\\\":0,\\\"confirmtime\\\":null,\\\"confirmer\\\":null,\\\"remark\\\":null,\\\"devname\\\":\\\"人体红外传感器-2\\\",\\\"addr\\\":\\\"\\\",\\\"relaobjid\\\":null,\\\"relaobjtype\\\":0,\\\"relaobjname\\\":null},{\\\"alarmid\\\":\\\"A8060430184138534773\\\",\\\"alarmcode\\\":\\\"1\\\",\\\"typeflag\\\":1,\\\"title\\\":\\\"someone intrusion!\\\",\\\"deveui\\\":\\\"1@004a770062c001a2\\\",\\\"devtype\\\":\\\"sensor_infrared_intrusion\\\",\\\"alarmlevel\\\":1,\\\"alarmtime\\\":\\\"2024-04-28 16:12:24\\\",\\\"descp\\\":\\\"\\\",\\\"cleartime\\\":null,\\\"confirmstate\\\":0,\\\"confirmtime\\\":null,\\\"confirmer\\\":null,\\\"remark\\\":null,\\\"devname\\\":\\\"人体红外传感器-1\\\",\\\"addr\\\":\\\"\\\",\\\"relaobjid\\\":null,\\\"relaobjtype\\\":0,\\\"relaobjname\\\":null}]}\"},\"serverTime\":\"1714291536526\"}";
if (jsonResult != null)
{
try
{
myroot = JsonConvert.DeserializeObject<Root>(jsonResult);
if (myroot.message == "操作成功")
{
Debug.Log("获取红外数据成功!");
//for (int i = 0; i < myroot.data.Count; i++)
{
//var go = GameObject.Instantiate(prefab, content);
//var t = go.GetComponent<calendarIcon>();
msg = JObject.Parse(myroot.data.ToString());
//var txt = myroot.data.personFlag;
//var txt = msg["personFlag"].ToString();
root_Data = JsonConvert.DeserializeObject<Root_Data>(msg["data"].ToString().Trim());
data = root_Data.data;
//if (txt == "1") t.text1.text = "有异物";
//else if (txt == "0") t.text1.text = "无异物";
//t.text1.text = myroot.data[i].personFlag;
//t.text2.text = myroot.data[i].particulars;
}
}
else
{
SecondConfirmPanel.DeleteConform(null, myroot.message);
}
}
catch (Exception e)
{
SecondConfirmPanel.DeleteConform(null, "红外检测序列化错误:" + e.Message + "" + e.StackTrace);
}
}
//}));
}
[System.Serializable]
public class Msg
{
/// <summary>
/// 1-有人0-无人
/// </summary>
public string personFlag;
public Root_Data data;
}
[System.Serializable]
public class Root_Data
{
/// <summary>
///
/// </summary>
public int result;
/// <summary>
/// 告警备注信息
/// </summary>
public string remark;
/// <summary>
///
/// </summary>
public List<Data> data;
}
[System.Serializable]
public class Data
{
/// <summary>
/// 告警流水号
/// </summary>
public string alarmid;
/// <summary>
/// 告警码
/// </summary>
public string alarmcode;
/// <summary>
/// 类型标记: 0: 告警恢复1: 告警发生2: 通知消息;
/// </summary>
public int typeflag;
/// <summary>
/// 告警标题
/// </summary>
public string title;
/// <summary>
/// 告警设备标识
/// </summary>
public string deveui;
/// <summary>
/// 告警设备类型
/// </summary>
public string devtype;
/// <summary>
/// 告警级别
/// </summary>
public int alarmlevel;
/// <summary>
/// 告警发生时间
/// </summary>
public DateTime alarmtime;
/// <summary>
/// 告警详细描述
/// </summary>
public string descp;
/// <summary>
/// 告警恢复时间
/// </summary>
public string cleartime;
/// <summary>
/// 告警确认状态: 0-未确认1-已确认
/// </summary>
public int confirmstate;
/// <summary>
/// 告警确认时间, 若有值,为 yyyy-MM-dd HH:mm:ss 格式
/// </summary>
public string confirmtime;
/// <summary>
/// 告警确认人
/// </summary>
public string confirmer;
/// <summary>
///
/// </summary>
public string remark;
/// <summary>
/// 传感器名字
/// </summary>
public string devname;
/// <summary>
///
/// </summary>
public string addr;
/// <summary>
///
/// </summary>
public string relaobjid;
/// <summary>
///
/// </summary>
public int relaobjtype;
/// <summary>
///
/// </summary>
public string relaobjname;
}
[System.Serializable]
public class Root
{
/// <summary>
///
/// </summary>
public string code;
/// <summary>
/// 操作成功
/// </summary>
public string message;
/// <summary>
///
/// </summary>
public object data;
/// <summary>
///
/// </summary>
public string serverTime;
}
}