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;
///
/// 红外
///
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 = new List();
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);
}
}
///
/// 加载红外检测详情
///
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(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();
msg = JObject.Parse(myroot.data.ToString());
//var txt = myroot.data.personFlag;
//var txt = msg["personFlag"].ToString();
root_Data = JsonConvert.DeserializeObject(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
{
///
/// 1-有人;0-无人
///
public string personFlag;
public Root_Data data;
}
[System.Serializable]
public class Root_Data
{
///
///
///
public int result;
///
/// 告警备注信息
///
public string remark;
///
///
///
public List data;
}
[System.Serializable]
public class Data
{
///
/// 告警流水号
///
public string alarmid;
///
/// 告警码
///
public string alarmcode;
///
/// 类型标记: 0: 告警恢复;1: 告警发生;2: 通知消息;
///
public int typeflag;
///
/// 告警标题
///
public string title;
///
/// 告警设备标识
///
public string deveui;
///
/// 告警设备类型
///
public string devtype;
///
/// 告警级别
///
public int alarmlevel;
///
/// 告警发生时间
///
public DateTime alarmtime;
///
/// 告警详细描述
///
public string descp;
///
/// 告警恢复时间
///
public string cleartime;
///
/// 告警确认状态: 0-未确认,1-已确认
///
public int confirmstate;
///
/// 告警确认时间, 若有值,为 yyyy-MM-dd HH:mm:ss 格式
///
public string confirmtime;
///
/// 告警确认人
///
public string confirmer;
///
///
///
public string remark;
///
/// 传感器名字
///
public string devname;
///
///
///
public string addr;
///
///
///
public string relaobjid;
///
///
///
public int relaobjtype;
///
///
///
public string relaobjname;
}
[System.Serializable]
public class Root
{
///
///
///
public string code;
///
/// 操作成功
///
public string message;
///
///
///
public object data;
///
///
///
public string serverTime;
}
}