83 lines
2.8 KiB
C#
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 // 被挤下线(异地登录)
|
|
}
|
|
}
|