diff --git a/services/script/client.go b/services/script/client.go new file mode 100644 index 0000000..69096a0 --- /dev/null +++ b/services/script/client.go @@ -0,0 +1,35 @@ +package script + +import ( + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" +) + +const ( + VERSION = "2020-11-16" +) + +var HOST = requests.Host{ + Default: "script", +} + +type Client struct { + sdk.Client +} + +func NewClient() (client *Client, err error) { + client = new(Client) + err = client.Init() + return +} + +// OpenGame 同步到游戏中心 +func (c *Client) OpenGame(req *OpenGameReq) (resp *OpenGameResp, err error) { + resp = CreateOpenGameResp() + err = c.DoAction(req, resp) + if err != nil { + return + } + + return +} diff --git a/services/script/client_test.go b/services/script/client_test.go new file mode 100644 index 0000000..3834fe1 --- /dev/null +++ b/services/script/client_test.go @@ -0,0 +1,21 @@ +package script + +import ( + "fmt" + "testing" +) + +func TestOpenGame(t *testing.T) { + client, err := NewClient() + if err != nil { + panic(err) + } + req := CreateOpenGameReq(7275) + + resp, err := client.OpenGame(req) + if err != nil { + panic(err) + } + + fmt.Println(resp.Code, resp.Msg) +} diff --git a/services/script/script.go b/services/script/script.go new file mode 100644 index 0000000..30287f7 --- /dev/null +++ b/services/script/script.go @@ -0,0 +1,41 @@ +package script + +import ( + "encoding/json" + "fmt" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/requests" + "golib.gaore.com/GaoreGo/gaore-common-sdk-go/sdk/responses" +) + +type OpenGameReq struct { + *requests.RpcRequest +} + +type OpenGameResp struct { + *responses.BaseResponse +} + +// GetHttpContentBytes 因为http://script.gaore.com/open_game.php?game_id=这个接口返回的不是json,反序列化会报错,所以返回一个固定的json +func (baseResponse *OpenGameResp) GetHttpContentBytes() []byte { + b, _ := json.Marshal(map[string]interface{}{"code": 200, "msg": "success"}) + return b +} + +// CreateOpenGameReq 创建同步到游戏中心请求 +func CreateOpenGameReq(gameId int) *OpenGameReq { + req := &OpenGameReq{ + &requests.RpcRequest{}, + } + + req.InitWithApiInfo(HOST, VERSION, "open_game.php?game_id="+fmt.Sprintf("%v", gameId)) + req.Method = requests.POST + + return req +} + +// CreateOpenGameResp 创建同步到游戏中心响应 +func CreateOpenGameResp() *OpenGameResp { + return &OpenGameResp{ + BaseResponse: &responses.BaseResponse{}, + } +}