Files
bl/logic/service/user/chat.go
昔念 50232339d9 ```
refactor(rpc): 更新结构体标签以跳过特定字段序列化

将多个结构体中的 `struc:"[0]pad"` 标签更改为 `struc:"skip"`,
以避免在序列化过程中处理不必要的填充字段。同时新增放生与领回相关逻辑,
并完善部分控制器函数和消息结构定义。
```
2025-11-24 11:56:20 +08:00

80 lines
3.6 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package user
import "blazing/logic/service/common"
type ChatInboundInfo struct {
Head common.TomeeHeader `cmd:"2102" struc:"skip"`
Reserve uint32 `json:"reserve" fieldDescription:"填充 默认值为0" uint:"true"` // @UInt long reserve无符号长整数
MessageLen uint32 `struc:"sizeof=Message"`
Message string `json:"message" fieldDescription:"消息内容, 结束符为utf-8的数字0"` // 消息内容包含utf-8空字符('\x00')作为结束符
}
type ChatOutboundInfo struct {
SenderId uint32 `description:"发送人的米米号" codec:"uint"` // @UInt long -> uint64
SenderNickname string `struc:"[16]byte" default:"seer" json:"nick"` // 固定16字节的字符串对应@ArraySerialize注解
ToId uint32 `description:"可能是私聊用的 公屏发送时为0" codec:"uint"` // @UInt long -> uint64
MessageLen uint32 `struc:"sizeof=Message"`
Message string `description:"这里的内容没有结束符" codec:"string"` // String -> string
}
type ChangeColorInboundInfo struct {
Head common.TomeeHeader `cmd:"2063" struc:"skip"`
Color uint32 `codec:"color"` // 更改的颜色 rgb (对应Java的@UInt long)
}
type ChangeColorOutboundInfo struct {
UserId uint32 `codec:"userId"` // 更改人的用户id (对应Java的@UInt long)
Color uint32 `codec:"color"` // 前端发来的更改的颜色rgb值 (对应Java的@UInt long)
Texture uint32 `codec:"texture"` // 大概是当前的涂装 by 7 (对应Java的@UInt long)
Coins uint32 `codec:"coins"` // 扣除200豆子后返回的剩余豆子 (对应Java的@UInt long)
}
type ChangeDoodleInboundInfo struct {
Head common.TomeeHeader `cmd:"2062" struc:"skip"`
Id uint32 `codec:"id"` // 涂鸦ID (对应Java的@UInt long)
Color uint32 `codec:"color"` // 前端发来的更改的颜色rgb值 (对应Java的@UInt long)
}
type ChangeDoodleOutboundInfo struct {
UserId uint32 `codec:"userId"` // 更改人的userid (对应Java的@UInt long)
Color uint32 `codec:"color"` // 使用前端发的id 从itemInfo中获得 (对应Java的@UInt long)
Texture uint32 `codec:"texture"` // 使用前端发的id 从itemInfo中获得 (对应Java的@UInt long)
Coins uint32 `codec:"coins"` // 扣除对应豆子后返回的剩余豆子 (对应Java的@UInt long)
}
type ChangeNONOColorInboundInfo struct {
Head common.TomeeHeader `cmd:"9012" struc:"skip"`
Color uint32 `codec:"color"` // 更改的颜色 rgb (对应Java的@UInt long)
}
type ChangeNONOColorOutboundInfo struct {
Sataus uint32 `codec:"userId"` // 更改人的用户id (对应Java的@UInt long)
Color uint32 `codec:"color"` // 前端发来的更改的颜色rgb值 (对应Java的@UInt long)
}
// C2SDanceAction 前端发送给后端的舞蹈动作请求结构体
// 对应 C# 的 C2S_DANCE_ACTION
type C2SDanceAction struct {
Head common.TomeeHeader `cmd:"2103" struc:"skip"`
// Reserve 固定参数(值为 10001
Reserve uint32 `struc:"uint32,big"`
// Type 动作类型3 = 蹲下)
Type uint32 `struc:"uint32,big"`
}
type S2CDanceAction struct {
// UserID 玩家ID
UserID uint32 `struc:"uint32,big"`
// Type 动作类型(透传前端的 type3 = 蹲下)
Type uint32 `struc:"uint32,big"`
}
type C2SPEOPLE_TRANSFROM struct {
Head common.TomeeHeader `cmd:"2111" struc:"skip"`
// Reserve 固定参数(值为 10001
SuitID uint32 `struc:"uint32,big"`
}
type S2CPEOPLE_TRANSFROM struct {
// UserID 玩家ID
UserID uint32 `struc:"uint32,big"`
// Type 动作类型(透传前端的 type3 = 蹲下)
SuitID uint32 `struc:"uint32,big"`
}