2025-01-22 16:12:42 +08:00

46 lines
1.5 KiB
Plaintext

syntax = "v1"
import "common.api"
type SetUserGameScoreRequest {
Score uint64 `json:"score"`
Type uint64 `json:"type,default=0" form:"type,default=0"`
}
type RankingData {
Nickname string `json:"nickname" db:"nickname"` // 昵称
Avatar string `json:"avatar" db:"avatar"` // 头像
Score uint32 `json:"score" db:"score"` // 得分
UserId uint64 `json:"-" db:"app_user_id"` // 用户 ID
Rank uint32 `json:"rank" db:"t_rank"` // 排名
Self bool `json:"self" db:"-"` // 是否是自己
}
type RankingResponse {
Base
RankingData []RankingData `json:"data"`
}
type RankingListRequest {
Type uint64 `json:"type,default=0" form:"type,default=0"`
PageBase
}
@server(
group: game
prefix: /v1/game // 对当前 Foo 语法块下的所有路由,新增 /v1 路由前缀,不需要则请删除此行
jwt: Auth // 开启 jwt 认证
timeout: 3s // 对当前 Foo 语法块下的所有路由进行超时配置,不需要则请删除此行
maxBytes: 1048576 // 对当前 Foo 语法块下的所有路由添加请求体大小控制,单位为 byte,goctl 版本 >= 1.5.0 才支持
)
service game_open_api-api {
@handler rankingList
get /ranking/list (RankingListRequest) returns ([]RankingData)
@handler rankingSetScore
post /ranking/set_score (SetUserGameScoreRequest) returns (Base)
}