using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XiaoZhiSharp.Models
{
public class MsgPushModel
{
///
/// 会话ID
///
[JsonProperty("session_id", NullValueHandling = NullValueHandling.Include)]
public string SessionId { get; set; }
///
/// 消息类型
///
[JsonProperty("type", NullValueHandling = NullValueHandling.Include)]
public string Type { get; set; } = "msgpush";
[JsonProperty("OS", NullValueHandling = NullValueHandling.Include)]
public OSModel OS { get; set; }
[JsonProperty("GPS", NullValueHandling = NullValueHandling.Include)]
public GPSModel GPS { get; set; }
}
///
/// 操作系统资源使用情况
///
public class OSModel
{
///
/// CPU使用率
///
[JsonProperty("CPU", NullValueHandling = NullValueHandling.Include)]
public ulong CPU { get; set; }
///
/// GPU使用率
///
[JsonProperty("GPU", NullValueHandling = NullValueHandling.Include)]
public double GPU { get; set; }
///
/// 内存使用率
///
[JsonProperty("Memory", NullValueHandling = NullValueHandling.Include)]
public double Memory { get; set; }
///
/// 存储使用率
///
[JsonProperty("Disk", NullValueHandling = NullValueHandling.Include)]
public double Disk { get; set; }
}
///
/// GPS定位信息
///
public class GPSModel
{
///
/// 时间戳--年
///
[JsonProperty("year", NullValueHandling = NullValueHandling.Include)]
public int Year { get; set; }
///
/// 时间戳--月
///
[JsonProperty("mon", NullValueHandling = NullValueHandling.Include)]
public int Month { get; set; }
///
/// 时间戳--日
///
[JsonProperty("day", NullValueHandling = NullValueHandling.Include)]
public int Day { get; set; }
///
/// 时间戳--时
///
[JsonProperty("hour", NullValueHandling = NullValueHandling.Include)]
public int Hour { get; set; }
///
/// 时间戳--分
///
[JsonProperty("min", NullValueHandling = NullValueHandling.Include)]
public int Minute { get; set; }
///
/// 时间戳--秒
///
[JsonProperty("sec", NullValueHandling = NullValueHandling.Include)]
public int Second { get; set; }
///
/// 经度
///
[JsonProperty("Longitude", NullValueHandling = NullValueHandling.Include)]
public double Longitude { get; set; }
///
/// 纬度
///
[JsonProperty("Latitude", NullValueHandling = NullValueHandling.Include)]
public double Latitude { get; set; }
///
/// 海拔高度(米)
///
[JsonProperty("Altitude", NullValueHandling = NullValueHandling.Include)]
public double Altitude { get; set; }
///
/// 速度(km/h)
///
[JsonProperty("Speed", NullValueHandling = NullValueHandling.Include)]
public double Speed { get; set; }
///
/// 航向
///
[JsonProperty("Heading", NullValueHandling = NullValueHandling.Include)]
public double Heading { get; set; }
///
/// 航道
///
[JsonIgnore()]
public double Course { get; set; }
///
/// 偏航角
///
[JsonIgnore()]
public double CrabAngle { get; set; }
///
/// 可见GPS卫星
///
[JsonProperty("GPSSatellitesInView", NullValueHandling = NullValueHandling.Include)]
public int GPSSatellitesInView { get; set; }
///
/// 正在使用的GPS卫星
///
[JsonProperty("GPSSatellitesUsed", NullValueHandling = NullValueHandling.Include)]
public int GPSSatellitesUsed { get; set; }
///
/// 可见北斗卫星
///
[JsonProperty("BDSatellitesInView", NullValueHandling = NullValueHandling.Include)]
public int BDSatellitesInView { get; set; }
///
/// 正在使用的北斗卫星
///
[JsonProperty("BDSatellitesUsed", NullValueHandling = NullValueHandling.Include)]
public int BDSatellitesUsed { get; set; }
///
/// (Position Dilution Of Precision)三维精度因子
///
[JsonProperty("PDOP", NullValueHandling = NullValueHandling.Include)]
public double PDOP { get; set; }
///
/// (Horizontal Dilution Of Precision)水平精度因子
///
[JsonProperty("HDOP", NullValueHandling = NullValueHandling.Include)]
public double HDOP { get; set; }
///
/// (Vertical Dilution Of Precision)垂直几何精度因子
///
[JsonProperty("VDOP", NullValueHandling = NullValueHandling.Include)]
public double VDOP { get; set; }
///
/// (Time Dilution Of Precision)时间精度因子
///
[JsonIgnore()]
public double TDOP { get; set; }
}
}