Files
IM/backend/IM_API/Dtos/HubResponse.cs
T

83 lines
2.8 KiB
C#

using IM_API.Tools;
namespace IM_API.Dtos
{
public class HubResponse<T>
{
public int Code { get; init; }
public string Method { get; init; }
public HubResponseType Type { get; init; }
public string Message { get; init; }
public T? Data { get; init; }
public HubResponse(string method)
{
Code = CodeDefine.SUCCESS.Code;
Message = CodeDefine.SUCCESS.Message;
Type = HubResponseType.ActionStatus;
Method = method;
}
public HubResponse(string method,T data)
{
Code = CodeDefine.SUCCESS.Code;
Message = CodeDefine.SUCCESS.Message;
Type = HubResponseType.ActionStatus;
Data = data;
Method = method;
}
public HubResponse(CodeDefine codedefine,string method)
{
Code = codedefine.Code;
Method = method;
Message = codedefine.Message;
Type = HubResponseType.ActionStatus;
}
public HubResponse(CodeDefine codeDefine, string method, HubResponseType type, T? data)
{
Code = codeDefine.Code;
Method = method;
Type = type;
Message = codeDefine.Message;
Data = data;
}
public HubResponse(HubResponseType type, T? data)
{
Code = CodeDefine.SUCCESS.Code;
Method = "Event";
Type = type;
Data = data;
}
}
public enum HubResponseType
{
// --- 基础聊天 (10-19) ---
ChatMsg = 1, // 普通消息
// --- 系统与通知 (20-29) ---
SystemNotice = 2, // 通用系统通知
FriendRequest = 21, // 好友申请消息
FriendAccepted = 22, // 好友通过通知
UserInLine = 23, // 好友上线/下线通知
// --- 状态变更与交互 (30-39) ---
ActionStatus = 3, // 通用状态(正在输入等)
MsgReadReceipt = 31, // 已读回执
MsgRevoke = 32, // 消息撤回
MsgEdit = 33, // 消息二次编辑更新
// --- 群组管理 (40-49) ---
GroupInvited = 41, // 被邀请入群
GroupMemberUpdate = 42, // 群成员变动(进群/退群)
GroupAnnouncement = 43, // 群公告更新
GroupDismissed = 44, // 群组解散
// --- 实时通信控制 (50-59) ---
RTC_CallRequest = 51, // 音视频通话邀请
RTC_CallHandled = 52, // 音视频接听/挂断/取消状态
// --- 异常与安全 (90-99) ---
ErrorInternal = 91, // 服务器内部错误
TokenExpired = 92, // 登录过期,强制下线
KickedOut = 93 // 被挤下线(异地登录)
}
}