【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)
 | 
						err = c.DoAction(req, resp)
 | 
				
			||||||
	return
 | 
						return
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// GetGameSimpleList 获取子游戏简单列表
 | 
				
			||||||
func (c *Client) GetGameSimpleList(req *GetGameSimpleListReq) (resp *GetGameSimpleListResp, err error) {
 | 
					func (c *Client) GetGameSimpleList(req *GetGameSimpleListReq) (resp *GetGameSimpleListResp, err error) {
 | 
				
			||||||
	resp = CreateGetGameSimpleListResp()
 | 
						resp = CreateGetGameSimpleListResp()
 | 
				
			||||||
	err = c.DoAction(req, resp)
 | 
						err = c.DoAction(req, resp)
 | 
				
			||||||
	return
 | 
						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)
 | 
						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