package asdk import ( "strconv" "strings" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" ) // LastLoginGameReq // 查询玩家最近登录游戏(内网接口,走 /api 分组的内部签名) type LastLoginGameReq struct { *requests.RpcRequest } // LastLoginGameResp // Data 为空对象(game_id=0、game_sign="")表示这些账号都没有登录记录, // 「查不到」是正常结果而非错误,code 仍为 0。 type LastLoginGameResp struct { *responses.BaseResponse Code int `json:"code"` Msg string `json:"msg"` Data struct { UserName string `json:"user_name"` GameId int64 `json:"game_id"` // 子游戏(包)ID GameSign string `json:"game_sign"` // 根游戏标识 GameName string `json:"game_name"` // 子游戏名,非根游戏名 LastLoginTime int64 `json:"last_login_time"` } `json:"data"` TraceId string `json:"trace_id"` } type LastLoginGameParam struct { Ts int64 Sign string UserNames []string } // CreateLastLoginGameReq 构造查询请求:多个平台账号一并下发, // 服务端在这些账号里挑最近登录的那一条返回。 func CreateLastLoginGameReq(param LastLoginGameParam) *LastLoginGameReq { req := &LastLoginGameReq{ RpcRequest: &requests.RpcRequest{}, } req.InitWithApiInfo(HOST, VERSION, "/api/user/last_login_game") req.Method = requests.POST req.FormParams = map[string]string{ "ts": strconv.FormatInt(param.Ts, 10), "sign": param.Sign, "user_names": strings.Join(param.UserNames, ","), } return req } func CreateLastLoginGameResp() *LastLoginGameResp { return &LastLoginGameResp{ BaseResponse: &responses.BaseResponse{}, } }