feat(app): update

This commit is contained in:
Yangtao
2025-11-19 14:24:13 +08:00
parent 1eac66d7fd
commit 0c34585649
329 changed files with 10760 additions and 281 deletions

View File

@ -0,0 +1,384 @@
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 // 停留时长(秒)
}

View File

@ -0,0 +1,10 @@
package yunxin
// 聊天室在线成员对象
type ImChatroomOnlineMember struct {
MessageRoomId int `json:"roomid"`
UserId string `json:"accid"`
EnterTime int64 `json:"enterTime"`
Type string `json:"type"`
OnlineStat bool `json:"onlineStat"`
}

View File

@ -0,0 +1,9 @@
package yunxin
// IM用户扩展信息 会话列表用户数据从IM信息获取
type ImUserExtData struct {
VipLevel string // Vip等级
AvatarDecoration string // 头饰
GroupType string
VipConfig string // json字符串dto.UserVipConfigDTO
}

View File

@ -0,0 +1,7 @@
package yunxin
// 更新聊天室信息请求对象
type UpdateRoomInfoRequest struct {
Roomid string `json:"roomid"` // 房间ID
NotifyExt string `json:"notifyExt" // 扩展信息`
}