using System.ComponentModel; namespace BarrageGrab.Modles.JsonEntity { /// /// 弹幕消息类型 /// public enum PackMsgType { [Description("无")] 无 = 0, [Description("消息")] 弹幕消息 = 1, [Description("点赞")] 点赞消息 = 2, [Description("进房")] 进直播间 = 3, [Description("关注")] 关注消息 = 4, [Description("礼物")] 礼物消息 = 5, [Description("统计")] 直播间统计 = 6, [Description("粉团")] 粉丝团消息 = 7, [Description("分享")] 直播间分享 = 8, [Description("下播")] 下播 = 9 } /// /// 粉丝团消息类型 /// public enum FansclubType { 无 = 0, 粉丝团升级 = 1, 加入粉丝团 = 2 } /// /// 直播间分享目标 /// public enum ShareType { 未知 = 0, 微信 = 1, 朋友圈 = 2, 微博 = 3, QQ空间 = 4, QQ = 5, 抖音好友 = 112 } /// /// 数据包装器 /// public class BarrageMsgPack { /// /// 消息类型 /// public PackMsgType Type { get; set; } /// /// 进程名 /// public string ProcessName { get; set; } /// /// 消息对象 /// public string Data { get; set; } public BarrageMsgPack() { } public BarrageMsgPack(string data, PackMsgType type,string processName) { Data = data; Type = type; ProcessName = processName; } } /// /// 消息 /// public class Msg { /// /// 弹幕ID /// public long MsgId { get; set; } /// /// 用户数据 /// public MsgUser User { get; set; } /// /// 消息内容 /// public string Content { get; set; } /// /// 房间号 /// public long RoomId { get; set; } /// /// web直播间ID /// public long WebRoomId { get; set; } } /// /// 粉丝团信息 /// public class FansClubInfo { /// /// 粉丝团名称 /// public string ClubName { get; set; } /// /// 粉丝团等级,没加入则0 /// public int Level { get; set; } } /// /// 用户弹幕信息 /// public class MsgUser { /// /// 真实ID /// public long Id { get; set; } /// /// ShortId /// public long ShortId { get; set; } /// /// 自定义ID /// public string DisplayId { get; set; } /// /// 昵称 /// public string Nickname { get; set; } /// /// 未知 /// public int Level { get; set; } /// /// 支付等级 /// public int PayLevel { get; set; } /// /// 性别 1男 2女 /// public int Gender { get; set; } /// /// 头像地址 /// public string HeadImgUrl { get; set; } /// /// 用户主页地址 /// public string SecUid { get; set; } /// /// 粉丝团信息 /// public FansClubInfo FansClub { get; set; } /// /// 粉丝数 /// public long FollowerCount { get; set; } /// /// 关注状态 0 未关注 1 已关注 2,不明 /// public long FollowStatus { get; set; } /// /// 关注数 /// public long FollowingCount; public string GenderToString() { return Gender == 1 ? "男" : Gender == 2 ? "女" : "妖"; } } /// /// 礼物消息 /// public class GiftMsg : Msg { /// /// 礼物ID /// public long GiftId { get; set; } /// /// 礼物名称 /// public string GiftName { get; set; } /// /// 礼物分组ID /// public long GroupId { get; set; } /// /// 本次(增量)礼物数量 /// public long GiftCount { get; set; } /// /// 礼物数量(连续的) /// public long RepeatCount { get; set; } /// /// 抖币价格 /// public int DiamondCount { get; set; } /// /// 该礼物是否可连击 /// public bool Combo { get; set; } /// /// 礼物图片地址 /// public string ImgUrl { get; set; } /// /// 送礼目标(连麦直播间有用) /// public MsgUser ToUser { get; set; } } /// /// 点赞消息 /// public class LikeMsg : Msg { /// /// 点赞数量 /// public long Count { get; set; } /// /// 总共点赞数量 /// public long Total { get; set; } } /// /// 直播间统计消息 /// public class UserSeqMsg : Msg { /// /// 当前直播间用户数量 /// public long OnlineUserCount { get; set; } /// /// 累计直播间用户数量 /// public long TotalUserCount { get; set; } /// /// 累计直播间用户数量 显示文本 /// public string TotalUserCountStr { get; set; } /// /// 当前直播间用户数量 显示文本 /// public string OnlineUserCountStr { get; set; } } /// /// 粉丝团消息 /// public class FansclubMsg : Msg { /// /// 粉丝团消息类型,升级1,加入2 /// public int Type { get; set; } /// /// 粉丝团等级 /// public int Level { get; set; } } /// /// 来了消息 /// public class MemberMessage : Msg { /// /// 当前直播间人数 /// public long CurrentCount { get; set; } } /// /// 直播间分享 /// public class ShareMessage : Msg { /// /// 分享目标 /// public ShareType ShareType { get; set; } } }