Files
MoviconHub/MoviconHub.App/Models/WebSocketMessage.cs
2025-09-15 17:59:48 +08:00

108 lines
2.8 KiB
C#

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