237 lines
7.8 KiB
C#
237 lines
7.8 KiB
C#
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;
|
||
}
|
||
}
|