using XFEExtension.NetCore.ArrayExtension;
namespace XFEExtension.NetCore.CyberComm.XCCNetWork;
///
/// XCC消息
///
///
/// XCC消息
///
/// 消息ID
/// 消息类型
/// 消息内容
/// 发送者
/// 发送时间
/// 群组ID
public class XCCMessage(string messageId, XCCTextMessageType messageType, string message, string sender, DateTime sendTime, string groupId)
{
///
/// 消息ID
///
public string MessageId { get; } = messageId;
///
/// 消息类型
///
public XCCTextMessageType MessageType { get; } = messageType;
///
/// 消息内容
///
public string Message { get; } = message;
///
/// 发送者
///
public string Sender { get; } = sender;
///
/// 发送时间
///
public DateTime SendTime { get; } = sendTime;
///
/// 群组ID
///
public string GroupId { get; } = groupId;
///
/// 封装为字符串
///
///
public override string ToString()
{
return new string[] { MessageId, MessageType.ToString(), Message, Sender, SendTime.ToString() }.ToXFEString();
}
///
/// 将封装后的XCC消息字符串转换为XCC消息对象
///
///
///
///
public static XCCMessage ConvertToXCCMessage(string xCCMessageStringFormat, string groupId)
{
var unPackedMessage = xCCMessageStringFormat.ToXFEArray();
return new XCCMessage(unPackedMessage[0], (XCCTextMessageType)Enum.Parse(typeof(XCCTextMessageType), unPackedMessage[1]), unPackedMessage[2], unPackedMessage[3], DateTime.Parse(unPackedMessage[4]), groupId);
}
}