using Newtonsoft.Json;
using System;
namespace MoviconHub.App.Models
{
///
/// WebSocket消息模型
///
public class WebSocketMessage
{
///
/// 状态码, 200表示成功
///
[JsonProperty("status")]
public string Status { get; set; } = "200";
///
/// 状态信息
///
[JsonProperty("msg")]
public string Msg { get; set; } = "200";
///
/// 消息数据
///
[JsonProperty("data")]
public object Data { get; set; }
///
/// 快速创建设备状态消息
///
public static WebSocketMessage CreateDeviceData(object DeviceData)
{
return new WebSocketMessage
{
Msg = "success",
Status = "200",
Data = DeviceData
};
}
///
/// 快速创建设备状态消息
///
public static WebSocketMessage CreateDeviceStatusMessage(string deviceCode, object statusData)
{
return new WebSocketMessage
{
Msg = "success",
Status = "200",
Data = statusData
};
}
///
/// 快速创建测试数据消息
///
public static WebSocketMessage CreateTestDataMessage(string deviceCode, object testData)
{
return new WebSocketMessage
{
Msg = "success",
Status = "200",
Data = testData
};
}
///
/// 快速创建故障信息消息
///
public static WebSocketMessage CreateFaultMessage(string deviceCode, object faultData)
{
return new WebSocketMessage
{
Msg = "success",
Status = "200",
Data = faultData
};
}
///
/// 创建心跳消息
///
public static WebSocketMessage CreateHeartbeat(string deviceCode)
{
return new WebSocketMessage
{
Msg = "success",
Status = "200",
Data = new { status = "online" }
};
}
///
/// 创建认证消息
///
public static WebSocketMessage CreateAuthMessage(string deviceCode, string secretKey)
{
return new WebSocketMessage
{
Msg = "success",
Status = "200",
Data = new { code = deviceCode, key = secretKey }
};
}
}
}