【game服务】获取游戏服务器列表v2
This commit is contained in:
parent
7dc4a177f9
commit
71b93169e2
@ -54,8 +54,17 @@ func (c *Client) GetProtocolByGameId(req *GetProtocolByGameIdRep) (resp *GetProt
|
||||
err = c.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// GetGameSimpleList 获取子游戏简单列表
|
||||
func (c *Client) GetGameSimpleList(req *GetGameSimpleListReq) (resp *GetGameSimpleListResp, err error) {
|
||||
resp = CreateGetGameSimpleListResp()
|
||||
err = c.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
|
||||
// GetGameServerV2 获取游戏服务器列表v2
|
||||
func (c *Client) GetGameServerV2(req *GetServerV2Request) (resp *GetServerV2Response, err error) {
|
||||
resp = CreateGetServerV2Response()
|
||||
err = c.DoAction(req, resp)
|
||||
return
|
||||
}
|
||||
|
@ -91,3 +91,17 @@ func TestGetGameSimpleList(t *testing.T) {
|
||||
}
|
||||
fmt.Println(info)
|
||||
}
|
||||
|
||||
func TestGetGameServerV2(t *testing.T) {
|
||||
client, newErr := NewClient()
|
||||
if newErr != nil {
|
||||
panic(newErr)
|
||||
}
|
||||
req := CreateGetServerV2Request("n2", "", "")
|
||||
info, err := client.GetGameServerV2(req)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
return
|
||||
}
|
||||
fmt.Println(info)
|
||||
}
|
||||
|
107
services/game/game_server.go
Normal file
107
services/game/game_server.go
Normal file
@ -0,0 +1,107 @@
|
||||
package game
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests"
|
||||
"golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses"
|
||||
"time"
|
||||
)
|
||||
|
||||
var (
|
||||
gameServerKey = "gaoreapi"
|
||||
)
|
||||
|
||||
// GetGameServerSign 子游戏区服信息,特有验签
|
||||
func GetGameServerSign(gameId int) (ts int64, sign string) {
|
||||
ts = time.Now().Unix()
|
||||
hash := md5.New()
|
||||
hash.Write([]byte(fmt.Sprintf("%v%v%v", gameId, ts, gameServerKey)))
|
||||
hashBytes := hash.Sum(nil)
|
||||
sign = hex.EncodeToString(hashBytes)
|
||||
return
|
||||
}
|
||||
|
||||
type GetServerIdRequest struct {
|
||||
*requests.RpcRequest
|
||||
}
|
||||
|
||||
type GetServerIdResponse struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
Data map[string]string `json:"data"`
|
||||
}
|
||||
|
||||
// CreateGetServerIdRequest
|
||||
// Deprecated 方法已废弃,不要用
|
||||
func CreateGetServerIdRequest(gameId int) (req *GetServerIdRequest) {
|
||||
req = &GetServerIdRequest{
|
||||
RpcRequest: &requests.RpcRequest{},
|
||||
}
|
||||
req.InitWithApiInfo(HOST, VERSION, "/api/game/getServerId")
|
||||
// 获取时间戳、签名
|
||||
ts, sign := GetGameServerSign(gameId)
|
||||
|
||||
req.FormParams = map[string]string{
|
||||
"appid": fmt.Sprintf("%v", gameId),
|
||||
"time": fmt.Sprintf("%v", ts),
|
||||
"sign": sign,
|
||||
}
|
||||
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
|
||||
// CreateGetServerIdResponse
|
||||
// Deprecated 方法已废弃,不要用
|
||||
func CreateGetServerIdResponse() (response *GetServerIdResponse) {
|
||||
response = &GetServerIdResponse{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// --------------游戏区服v2列表查询----------
|
||||
|
||||
// GetServerV2Request 请求结构体
|
||||
type GetServerV2Request struct {
|
||||
*requests.RpcRequest
|
||||
}
|
||||
|
||||
type GetServerV2Response struct {
|
||||
*responses.BaseResponse
|
||||
Code int `json:"code"`
|
||||
Msg string `json:"msg"`
|
||||
Data []GameServerV2 `json:"data"`
|
||||
}
|
||||
|
||||
type GameServerV2 struct {
|
||||
ServerId int `json:"server_id"`
|
||||
Name string `json:"name"`
|
||||
GameSign string `json:"game_sign"`
|
||||
ServerSign int `json:"server_sign"`
|
||||
}
|
||||
|
||||
func CreateGetServerV2Request(gameSign string, serverSigns string, types string) (req *GetServerV2Request) {
|
||||
req = &GetServerV2Request{
|
||||
RpcRequest: &requests.RpcRequest{},
|
||||
}
|
||||
req.InitWithApiInfo(HOST, VERSION, "/api/game/getServerV2")
|
||||
|
||||
req.FormParams = map[string]string{
|
||||
"game_sign": gameSign,
|
||||
"server_signs": serverSigns,
|
||||
"types": types,
|
||||
}
|
||||
req.Method = requests.POST
|
||||
return
|
||||
}
|
||||
|
||||
func CreateGetServerV2Response() (response *GetServerV2Response) {
|
||||
response = &GetServerV2Response{
|
||||
BaseResponse: &responses.BaseResponse{},
|
||||
}
|
||||
return
|
||||
}
|
Loading…
Reference in New Issue
Block a user