diff --git a/configs/confglobal/config.go b/configs/confglobal/config.go index 3bf47ef..1ff7805 100644 --- a/configs/confglobal/config.go +++ b/configs/confglobal/config.go @@ -10,9 +10,10 @@ import ( // GlobalConfig 全局配置 type GlobalConfig struct { - Raw *Raw `json:"-"` - Names []string - Avatars []string + Raw *Raw `json:"-"` + Names []string + Avatars []string + AvatarPath string } func (c *GlobalConfig) GetUid() string { @@ -41,6 +42,7 @@ type Raw struct { GameId string `gorm:"column:gameid"` NameConfig string AvatarConfig string + AvatarPath string } // Decode 解析配置原始数据 @@ -61,4 +63,5 @@ func (c *GlobalConfig) Decode(gameId string, rawData any) { return } } + c.AvatarPath = raw.AvatarPath } diff --git a/controllers/common.go b/controllers/common.go index ff6f2e8..3e2983f 100644 --- a/controllers/common.go +++ b/controllers/common.go @@ -34,6 +34,7 @@ func (c *CommonController) GetAvatar() { return } rsp := models.RspCommonGetAvatar{} + rsp.AvatarPath = svcommon.GetAvatarPath(req.GameID) count := lo.Clamp(req.Count, 1, 100) for i := 0; i < count; i++ { rsp.Values = append(rsp.Values, svcommon.GetAvatar(req.GameID)) @@ -49,6 +50,7 @@ func (c *CommonController) GetNameAvatar() { return } rsp := models.RspCommonGetNameAvatar{} + rsp.AvatarPath = svcommon.GetAvatarPath(req.GameID) count := lo.Clamp(req.Count, 1, 100) for i := 0; i < count; i++ { v := make([]string, 0) diff --git a/models/common.go b/models/common.go index 5afd7b5..f1553a5 100644 --- a/models/common.go +++ b/models/common.go @@ -21,7 +21,8 @@ type ReqCommonGetAvatar struct { // RspCommonGetAvatar 返回 type RspCommonGetAvatar struct { - Values []string `form:"values" json:"values"` // 结果列表 + AvatarPath string `form:"avatar_path" json:"avatar_path"` // 头像路径 + Values []string `form:"values" json:"values"` // 结果列表 } // ReqCommonGetNameAvatar 请求 @@ -33,5 +34,6 @@ type ReqCommonGetNameAvatar struct { // RspCommonGetNameAvatar 返回 type RspCommonGetNameAvatar struct { - Values [][]string `form:"values" json:"values"` // 结果列表 + AvatarPath string `form:"avatar_path" json:"avatar_path"` // 头像路径 + Values [][]string `form:"values" json:"values"` // 结果列表 } diff --git a/models/roomrank.go b/models/roomrank.go index 93cdb41..91874f2 100644 --- a/models/roomrank.go +++ b/models/roomrank.go @@ -31,6 +31,7 @@ type RoomRankInfo struct { UserClass int `form:"user_class" json:"user_class"` // 用户评级 SelfRank int `form:"self_rank" json:"self_rank"` // 自己排名 SelfScore int64 `form:"self_score" json:"self_score"` // 自己积分 + RobotAvatarPath string `form:"robot_avatar_path" json:"robot_avatar_path"` // 机器人头像路径 Tops []RoomRankTopNode `form:"tops" json:"tops"` // 排行榜数据列表 } diff --git a/service-common/svcommon/simulate.go b/service-common/svcommon/simulate.go index 5433ed6..1731ea6 100644 --- a/service-common/svcommon/simulate.go +++ b/service-common/svcommon/simulate.go @@ -28,3 +28,12 @@ func GetAvatar(gameId string) string { } return "lisi_icon" } + +// GetAvatarPath 随机模拟玩家头像路径 +func GetAvatarPath(gameId string) string { + config, err := confglobal.GetConfig(gameId) + if err == nil { + return config.AvatarPath + } + return "" +} diff --git a/service/roomrank/handle.go b/service/roomrank/handle.go index 821a0a8..2168b3d 100644 --- a/service/roomrank/handle.go +++ b/service/roomrank/handle.go @@ -79,7 +79,7 @@ func HandleInfo(req *models.ReqRoomRankInfo) (code string, rsp models.RspRoomRan TryReSort(room, config) SavePlayer(gameId, player) SaveRoom(gameId, room) - rsp.RoomRankInfo = GetInfoFromRoom(player, room, config) + rsp.RoomRankInfo = GetInfoFromRoom(gameId, player, room, config) return } @@ -202,7 +202,7 @@ func HandleAddScore(req *models.ReqRoomRankAddScore) (code string, rsp models.Rs SavePlayer(gameId, player) SaveRoom(gameId, room) - rsp.RoomRankInfo = GetInfoFromRoom(player, room, config) + rsp.RoomRankInfo = GetInfoFromRoom(gameId, player, room, config) // 记录日志 recordBase := NewRecordBase(player.Uid, req.TopType, config.Id) diff --git a/service/roomrank/player.go b/service/roomrank/player.go index 8cc74b0..877503a 100644 --- a/service/roomrank/player.go +++ b/service/roomrank/player.go @@ -87,7 +87,7 @@ func GetInfoFromSettle(player *Player, config *confroomrank.ActivityConfig) mode } // GetInfoFromRoom 活动信息 从房间 -func GetInfoFromRoom(player *Player, room *Room, config *confroomrank.ActivityConfig) models.RoomRankInfo { +func GetInfoFromRoom(gameId string, player *Player, room *Room, config *confroomrank.ActivityConfig) models.RoomRankInfo { info := models.RoomRankInfo{} info.UserClass = player.UserClass for i := 0; i < len(room.Details.Players); i++ { @@ -111,5 +111,6 @@ func GetInfoFromRoom(player *Player, room *Room, config *confroomrank.ActivityCo } info.Tops = append(info.Tops, node) } + info.RobotAvatarPath = svcommon.GetAvatarPath(gameId) return info } -- libgit2 0.21.0