package yunxin import ( "encoding/json" "gitea.ddegame.cn/open/servicebase/pkg/dto" "gitea.ddegame.cn/open/servicebase/pkg/htools" ) // 聊天室有随机结果表情消息data数据结构 type ChatRoomEmojiMsgBizData struct { ChatroomId string UserId string NickName string Avatar string Gender string Birthday string SuperManager string IsHost string EmojiId string EmojiUrl string EmojiType string ResultArray []string IsAdmin bool GameType string // 游戏类型 VipConfig dto.UserVipConfigDTO //VIP相关信息 } // 聊天室打赏消息data数据结构 303 309 411 type ChatroomPresentGiftMsgBizData struct { PresentId string ChatroomId string UserId string NickName string Avatar string Gender string Birthday string VipLevel string VipIcon string VipName string ToUserId string ToUserNickName string GiftId string GiftName string GiftCount string // 礼物数量 GiftStaticUrl string AnimationGifUrl string AnimationApngUrl string AnimationPcUrl string //pc特效 AnimationFormat string ComboHitCount string // 连击次数 ChatroomTotalIncome string // 聊天室总的收益 TotalDiamond string // 本次打赏钻石数 Charm string // 本次打赏产生的魅力 交友使用 ToPrevRoomWeeklyRevenue string // 距离上一个房主周收入差异 NameColor string // 打赏人昵称颜色 ToUserTotalCharm string // 被打赏人头上总的魅力值 FillMode string // 填充模式 1=左右拉满 2=上下拉满 } // 上麦排队对象 type ChatroomWaitUpData struct { UserId string // 排队的用户ID SeatType string // 要上座位类型 SeatName string // 要上的座位描述 ApplyTime string // 申请时间 } type RoomSeatList []RoomSeatModel // 获取此 slice 的长度 func (p RoomSeatList) Len() int { return len(p) } // 根据麦序排序 (此处按照自己的业务逻辑写) func (p RoomSeatList) Less(i, j int) bool { return htools.StringToInt(p[i].SeatIndex) < htools.StringToInt(p[j].SeatIndex) } // 交换数据 func (p RoomSeatList) Swap(i, j int) { p[i], p[j] = p[j], p[i] } // 房间座位对象 type RoomSeatModel struct { SeatIndex string // 座位编号 UserId string // 座位上用户ID NickName string // 用户昵称 Avatar string // 用户头像 Gender string UserNo string IsMute string // 是否静音 IsOpen string // 是否打开座位 IsTop string `json:"IsTop,omitempty"` // 是否魅力值最高 Charm string `json:"Charm,omitempty"` // 魅力值 SelectedIndex string `json:"SelectedIndex,omitempty"` // 选择的麦序 SelectedUserId string `json:"SelectedUserId,omitempty"` // 选择的用户ID Published string `json:"Published,omitempty"` // 该位置是否已公布 UpSeatTime string `json:"UpSeatTime,omitempty"` // 上麦时间 CountDown string `json:"CountDown,omitempty"` // 座位倒计时时间(秒)默认为0 AvatarDecoration string `json:"AvatarDecoration,omitempty"` // 用户头饰 上麦时带上自己的头饰 DecorationFormat string `json:"DecorationFormat,omitempty"` // 头饰类型 SkewerIconUrl string `json:"SkewerIconUrl,omitempty"` CountDownStartTime string `json:"CountDownStartTime,omitempty"` // 倒计时开始时间 CountDownSeconds string `json:"CountDownSeconds,omitempty"` // 倒计时时长 TopOneHatIcon string `json:"TopOneHatIcon,omitempty"` // top1的帽子链接 NobilitySeatNameColor []string `json:"NobilitySeatNameColor,omitempty"` // 贵族昵称颜色 } func (d RoomSeatModel) ToJson() string { bytes, _ := json.Marshal(d) return string(bytes) } func (d *RoomSeatModel) FromJson(src []byte) RoomSeatModel { _ = json.Unmarshal(src, d) return *d } // 关闭聊天室消息 302 type ChatroomCloseBizData struct { ChatroomId string MasterUserId string // 房主ID MasterNickName string // 昵称 CloseBy string // 被关闭的来源 } // 用户被踢出房间的消息体 407 type ChatroomKickedUserBizData struct { ChatroomId string KickedUserId string // 被踢用户ID KickedNickName string // 被踢用户昵称 KickedUserAvatar string // 被踢用户头像 KickedUserGender string // 被踢用户性别 KickedUserBirthday string // 被踢用户生日 KickedUserVipLevel string // 被踢用户VIP MsgContent string // 消息 OperationUserId string // 操作人 KickedUserIsAdmin string // 被踢用户是否是管理员 } // 系统消息 412 type ChatroomSystemMsgBizData struct { ChatroomId string UserId string // 用户ID MsgContent string // 消息内容 MsgColor string // 消息字体颜色 } // 聊天室全服消息 405 type FullServiceMsgBizData struct { ChatroomId string // 聊天室ID ChatroomName string // 聊天室名称 UserId string // 发送人 Avatar string // 发送人头像 NickName string // 发送人头像 GiftId string // 礼物ID GiftCount string // 数量 ComboHitCount string // 连击数量 Diamond string // 当次打赏金额 ComboHitTotalDiamond string // 连击累计打赏金额 ToUserNickName string // 被打赏人昵称 ToAvatar string // 被打赏人头像 ToGender string // 被打赏人性别 Type string // 业务类型 chatroom GiftName string // 礼物名称 GiftStaticUrl string // 礼物图片 } // 聊天室礼物飞行消息 433 type RoomGiftFlyMsgBizData struct { ChatroomId string // 聊天室ID FromUserId string // 发送人 ToUserIdList []string // 被打赏人 GiftCount string // 数量 GiftStaticUrl string // 礼物图片 } // 聊天室榜一变化的消息 403 type ChatroomChangeTopOneBizData struct { ChatroomId string UserId string // 用户ID } // 聊天室榜设置和取消管理员的消息 501 type ChatroomSetAdminBizData struct { ChatroomId string UserId string // 管理原ID Type string // 1=设置 0=取消 } // 聊天室购买守护位成功 317 type ChatroomBuyGuardSuccessBizData struct { ChatroomId string UserId string // 购买人 NickName string // 购买人昵称 HostUserId string // 主持人ID HostNickName string // 主持人昵称 VipLevel string //VIP等级 VipIcon string //VIP icon TotalIncome string // 房间总人气 SeatType string // 座位类型 SeatName string // 座位名称 NameColor string // 昵称颜色 } // 有守护位的人进入电台模板房间 318 type ChatroomGuardUserEnterBizData struct { ChatroomId string UserId string // 购买人 GuardSeatValue string // 守护权限 SeatType string // 守护权限 Type string // 1=进入 2=离开 Icon string // 1=进入 2=离开 IconWidth int // 1=进入 2=离开 IconHeight int // 1=进入 2=离开 } // 热度更新消息 338 type ChatroomHotUpdatedBizData struct { ChatroomId string Hot string // 热度 } // 用户装饰了头饰 321 == 暂不用发,设置头饰,如果在座位更新座位头饰,等下次同步 type UserSetDecorationBizData struct { ChatroomId string UserId string // 用户ID AvatarDecoration string // 头饰url ActionType string // 0= 取消 1=设置 } // 有礼物更新发聊天室通知 630 type ChatroomUpdateGiftBizData struct { ChatroomId string } // 锁状态更新发聊天室通知 631 type ChatroomLockStatusUpdateBizData struct { ChatroomId string LockStatus string // 1=上锁 0=解锁 } // 聊天室摇签消息 632 type ChatroomRockSkewerBizData struct { DataType string // 1= 摇签 2=解签 3= 弃签 ChatroomId string UserId string NickName string Avatar string Gender string Birthday string VipStatus string VipLevel string VipName string SuperManager string IsHost string IsAdmin bool MsgContent string // 摇签和弃签给内容 显示到公屏 SkewerIconUrl string // 摇签给icon ,显示到座位上 RockSkewerResult []string // 解签给结果,显示到座位2秒 显示到公屏 SkewerLevelIcon string // 签等级icon NameColor string // 昵称颜色 } // 聊天室进入和离开消息 633 type ChatroomComeInOrLeaveBizData struct { DataType string // 1= 进入 2=离开 ChatroomId string UserId string UserNo string NickName string Avatar string AvatarDecoration string Gender string Birthday string SuperManager string IsRewardTopOne string //1=是房间榜一 MountName string // 座驾名字 MountUrl string // 座驾地址 MountAnimationFormat string // 座驾动画格式 VipIconList string //VIP ICONS JSON字符串数组 EnterRoomScene *dto.EnterRoomSceneDTO `json:"EnterRoomScene,omitempty"` // 进入场景 VipConfig dto.UserVipConfigDTO `json:"VipConfig,omitempty"` //VipConfig HiddenEnterMsg string // 隐藏进入消息 } // 聊天室更改上麦方式的通知 634 type ChatroomUpdateUpSeatTypeBizData struct { ChatroomId string UpSeatType string // 上麦方式 1=排麦 2=自由麦 IsRecordCharm string // 记录魅力值 1=记录 0=不记录 SendMessageTimeGap string // 发送消息的频率 -1=关闭 SeatCountDown string } // 聊天室清除魅力的通知 635 type ChatroomClearCharmBizData struct { ChatroomId string ActionType string // 操作类型 1=清楚房间所有人的魅力 2= 清除房间某个人的魅力 UserId string } // 聊天室更改麦序倒计时通知 637 type ChatroomUpdateSeatCountdownBizData struct { ChatroomId string SeatCountDown string // 麦序倒计时 } // 聊天室派单对象数据 413 type ChatroomDispatchOrderBizData struct { ChatroomId string DispatchOrderId string // 派单的订单ID Status string // 状态 1=派单中 2=完成 3=弃单 } // 聊天室设置背景通知 415 type ChatroomSetBackgroundBizData struct { ChatroomId string BackgroundUrl string } // 聊天室变更气泡背景通知 415 type ChatroomUpdateChatBackgroundBizData struct { ChatroomId string UserId string RoomMsgBgForIOS string RoomMsgBgForAndroid string RoomMsgBgForPc string } type TextAndColor struct { Text string Color string } // 聊天室打赏活动消息data数据结构 type ChatroomPresentActivityMsgBizData struct { ChatroomId string FromUserId string FromNickName string FromAvatar string FromNickNameColor string // 打赏人昵称颜色 ActionText string // 动作文本 :赠送一个盲盒给 ActionTextColor string // 动作文本颜色 ToNickName string ToNickNameColor string // 被打赏人昵称颜色 PresentCount string // 物品个数 PresentGoodsName string PresentGoodsIcon string PresentGoodsNameColor string ResultGoodsIcon string ComboHitCount string // 连击次数 AnimationApngUrl string // 加入播放礼物动效队列 有的话显示播放动画 AnimationFormat string // 动画格式 SVGA APNG FillMode string // 填充模式 1=左右 2=上下 IsViewFlyView string // 是否显示飘屏view 有的话显示连击信息 // 显示到信息流 TextList []TextAndColor // 信息流文字颜色列表 } // 聊天室活动全服飘屏通知 type ChatroomFullScreenNoticeMsgBizData struct { ChatroomId string ContentIcon string ContentText string ContentTextColor string // 内容字体颜色 ContentBgColor string // 背景颜色 AnimationApngUrl string // 加入播放礼物动效队列 BgImgUrl string // 背景图 TextList []TextAndColor // 文字颜色列表 StayTime string // 停留时长(秒) }