Browse Source

新增补充adjustId方法

tags/v1.0.1
余 欣怀 1 year ago
parent
commit
f0fe02d420
18 changed files with 262 additions and 27 deletions
  1. +17
    -10
      sdk/auth/rpc_signature_composer.go
  2. +13
    -0
      sdk/client.go
  3. +1
    -0
      sdk/config.go
  4. +12
    -1
      sdk/requests/request.go
  5. +1
    -1
      sdk/requests/rpc_request.go
  6. +1
    -1
      services/apk/client.go
  7. +1
    -1
      services/callback/client.go
  8. +1
    -1
      services/jedi/client.go
  9. +1
    -1
      services/mail/client.go
  10. +40
    -0
      services/msdk/client.go
  11. +25
    -0
      services/msdk/client_test.go
  12. +52
    -0
      services/msdk/update_adjustid.go
  13. +2
    -2
      services/sso/client.go
  14. +3
    -0
      services/sso/client_test.go
  15. +20
    -8
      services/www/client.go
  16. +20
    -0
      services/www/client_test.go
  17. +0
    -1
      services/www/get_token.go
  18. +52
    -0
      services/www/update_adjustid.go

+ 17
- 10
sdk/auth/rpc_signature_composer.go View File

@@ -25,7 +25,13 @@ func signRpcRequest(request requests.AcsRequest, signer Signer) (err error) {
stringToSign := buildRpcStringToSign(request)
request.SetStringToSign(stringToSign)
signature := signer.Sign(stringToSign, "&")
request.GetQueryParams()["sign"] = signature
accessKeyForm, err := signer.GetAccessKeyFrom()
if err != nil {
return
}
if accessKeyForm != "" {
request.GetQueryParams()["sign"] = signature
}
debug("GrSdk sign: %s", signature)
debug("GrSdk sign string: %s", stringToSign)
debug("GrSdk sign: \r\n")
@@ -38,18 +44,19 @@ func completeRpcSignParams(request requests.AcsRequest, signer Signer) (err erro
if accessKeyFrom, err = signer.GetAccessKeyFrom(); err != nil {
return
}

queryParams := request.GetQueryParams()
queryParams["access_time"] = fmt.Sprintf("%d", time.Now().Unix())
queryParams["access_key"], err = signer.GetAccessKeyId()
queryParams["access_from"] = accessKeyFrom

if err != nil {
return
if accessKeyFrom != "" {
queryParams := request.GetQueryParams()
queryParams["access_time"] = fmt.Sprintf("%d", time.Now().Unix())
queryParams["access_key"], err = signer.GetAccessKeyId()
queryParams["access_from"] = accessKeyFrom

if err != nil {
return
}
request.GetHeaders()["Gr-Sdk-From"] = accessKeyFrom
}

request.GetHeaders()["Content-type"] = requests.Form
request.GetHeaders()["Gr-Sdk-From"] = accessKeyFrom
formString := utils.GetUrlFormedMap(request.GetFormParams())
request.SetContent(bytes.NewBufferString(formString).Bytes())
return


+ 13
- 0
sdk/client.go View File

@@ -83,6 +83,15 @@ func (client *Client) InitClientConfig() (config *Config) {

}

func (client *Client) InitWithArea(area string, env ...string) error {
config := client.InitClientConfig()
if len(env) >= 1 {
config.Env = env[0]
}
config.Area = area
return client.InitWithOptions(config, new(credentials.BaseCredential))
}

func (client *Client) InitWithAccessKey(accessKeyId, accessKeySecret, accessKeyFrom string) (err error) {
config := client.InitWithConfig()
credential := &credentials.BaseCredential{
@@ -279,6 +288,10 @@ func (client *Client) buildRequestWithSigner(request requests.AcsRequest, signer
request.SetEnv(client.config.Env)
}

if request.GetArea() == "" && client.config.Area != "" {
request.SetArea(client.config.Area)
}

err = requests.InitParam(request)
if err != nil {
return


+ 1
- 0
sdk/config.go View File

@@ -15,6 +15,7 @@ type Config struct {
Scheme string `default:"HTTP"`
Timeout time.Duration `default:"5"`
Env string `default:""`
Area string `default:""`
}

func NewConfig() *Config {


+ 12
- 1
sdk/requests/request.go View File

@@ -50,7 +50,7 @@ const (

type Host struct {
Default string
Func func(string) string
Func func(string, string) string
}

var debug utils.Debug
@@ -80,6 +80,8 @@ type AcsRequest interface {
InitWithApiInfo(domain Host, version, urlPath string)
GetEnv() string
SetEnv(string)
GetArea() string
SetArea(string)

BuildUrl() string
BuildQueries() string
@@ -121,6 +123,7 @@ type baseRequest struct {

queries string
stringToSign string
area string
}

func (request *baseRequest) GetEnv() string {
@@ -131,6 +134,14 @@ func (request *baseRequest) SetEnv(e string) {
request.Env = e
}

func (request *baseRequest) GetArea() string {
return request.area
}

func (request *baseRequest) SetArea(area string) {
request.area = area
}

func (request *baseRequest) GetStringToSign() string {
return request.stringToSign
}


+ 1
- 1
sdk/requests/rpc_request.go View File

@@ -21,7 +21,7 @@ func (request *RpcRequest) BuildUrl() string {
var hostname string
if request.Domain.Func == nil {
hostname = request.Domain.Default
} else if hostname = request.Domain.Func(request.GetEnv()); hostname == "" {
} else if hostname = request.Domain.Func(request.GetEnv(), request.GetArea()); hostname == "" {
hostname = request.Domain.Default
}



+ 1
- 1
services/apk/client.go View File

@@ -12,7 +12,7 @@ const (

var HOST requests.Host = requests.Host{
Default: "c.api.gaore.com",
Func: func(s string) string {
Func: func(s string, area string) string {
var a = map[string]string{
requests.RELEASE: "c.api.gaore.com",
requests.PRE: "c.api.gaore.com",


+ 1
- 1
services/callback/client.go View File

@@ -11,7 +11,7 @@ const (

var HOST requests.Host = requests.Host{
Default: "callback.api.gaore.com",
Func: func(s string) string {
Func: func(s string, area string) string {
var a = map[string]string{
requests.RELEASE: "callback.api.gaore.com",
requests.PRE: "callback.api.gaore.com",


+ 1
- 1
services/jedi/client.go View File

@@ -12,7 +12,7 @@ const (

var HOST requests.Host = requests.Host{
Default: "jedi.api.gaore.com",
Func: func(s string) string {
Func: func(s string, area string) string {
var a = map[string]string{
requests.RELEASE: "jedi.api.gaore.com",
requests.PRE: "jedi.api.gaore.com",


+ 1
- 1
services/mail/client.go View File

@@ -14,7 +14,7 @@ const (

var HOST requests.Host = requests.Host{
Default: "mail.gaore.com",
Func: func(s string) string {
Func: func(s string, area string) string {
var a = map[string]string{
requests.RELEASE: "mail.gaore.com",
requests.PRE: "mail.gaore.com",


+ 40
- 0
services/msdk/client.go View File

@@ -0,0 +1,40 @@
package msdk

import (
"fmt"
"golib.gaore.com/GaoreGo/haiwai-common-sdk-go/sdk"
"golib.gaore.com/GaoreGo/haiwai-common-sdk-go/sdk/requests"
)

const (
VERSION = "2023-03-16"
KEY = "gaore!@#msdk"
)

var Host = requests.Host{
Default: "msdk.api.gaore.com.hk",
Func: func(s string, area string) string {
if area != "" {
fmt.Println("msdk.api.gaore.com." + area)
return "msdk.api.gaore.com." + area
}
return "msdk.api.gaore.com.hk"
},
}

type Client struct {
sdk.Client
ident string
}

func (c *Client) UpdateAdjustId(req *UpdateAdjustIdRequest) (resp *UpdateAdjustIdResponse, err error) {
resp = CreateUpdateAdjustIdResponse()
err = c.DoAction(req, resp)
return
}

func NewClient(area string, env ...string) (client *Client, err error) {
client = new(Client)
err = client.InitWithArea(area, env...)
return
}

+ 25
- 0
services/msdk/client_test.go View File

@@ -0,0 +1,25 @@
package msdk

import (
"fmt"
"testing"
)

func TestClient_UpdateAdjustId(t *testing.T) {

req := CreateUpdateAdjustIdRequest()
req.AdjustId = "8834ca659b22316354e9e9d6dd6b1904"
req.Username = "xn94941370"
req.GameSign = "testcw"
req.LongId = "ba19fc578664f7c73c424b4c2919f9d1"
req.GameId = 10002
req.RegTime = 1678949413
req.Os = "ios"
req.MakeSign()
client, _ := NewClient("hk")
resp, err := client.UpdateAdjustId(req)
if err != nil {
return
}
fmt.Println(resp.Msg)
}

+ 52
- 0
services/msdk/update_adjustid.go View File

@@ -0,0 +1,52 @@
package msdk

import (
"crypto/md5"
"fmt"
"golib.gaore.com/GaoreGo/haiwai-common-sdk-go/sdk/requests"
"golib.gaore.com/GaoreGo/haiwai-common-sdk-go/sdk/responses"
"time"
)

type UpdateAdjustIdRequest struct {
*requests.RpcRequest
LongId string `position:"Body" field:"long_id" default:""`
GameId int `position:"Body" field:"game_id" default:"0"`
Username string `position:"Body" field:"username" default:""`
GameSign string `position:"Body" field:"game_sign" default:""`
RegTime int64 `position:"Body" field:"reg_time" default:"0"`
Os string `position:"Body" field:"os" default:""`
AdjustId string `position:"Body" field:"adjust_id" default:""`
ts int64 `position:"Body" field:"ts" default:"0"`
sign string `position:"Body" field:"sign" default:""`
}

func (u *UpdateAdjustIdRequest) MakeSign() {
u.ts = time.Now().Unix()
rawStr := fmt.Sprintf("%d%s%s%d%s", u.GameId, u.LongId, u.Username, u.ts, KEY)
sign := md5.Sum([]byte(rawStr))
u.sign = fmt.Sprintf("%x", sign)
}

type UpdateAdjustIdResponse struct {
*responses.BaseResponse
Ret int `json:"ret"`
Msg string `json:"msg"`
}

func CreateUpdateAdjustIdRequest() (req *UpdateAdjustIdRequest) {
req = &UpdateAdjustIdRequest{
RpcRequest: &requests.RpcRequest{},
}
req.ts = time.Now().Unix()
req.InitWithApiInfo(Host, VERSION, "/updateAdjustId.php")
req.Method = requests.POST
return
}

func CreateUpdateAdjustIdResponse() (resp *UpdateAdjustIdResponse) {
resp = &UpdateAdjustIdResponse{
BaseResponse: &responses.BaseResponse{},
}
return
}

+ 2
- 2
services/sso/client.go View File

@@ -14,7 +14,7 @@ const (

var HOST = requests.Host{
Default: "sso",
Func: func(s string) string {
Func: func(s string, area string) string {
host := map[string]string{
requests.RELEASE: "sso.gaore.com.hk",
requests.PRE: "sso.gaore.com",
@@ -74,7 +74,7 @@ func (c Client) getSchemeAndHost(env ...string) (scheme, host string) {
if len(env) >= 1 {
rEnv = env[0]
}
host = HOST.Func(rEnv)
host = HOST.Func(rEnv, "")

if rEnv == requests.RELEASE {
scheme = requests.HTTPS


+ 3
- 0
services/sso/client_test.go View File

@@ -9,3 +9,6 @@ func TestLoginUrl(t *testing.T) {
c, _ := NewClientWithAccessKey("stat.gaore.com.hk", "", "stat_gaore_com_hk")
t.Log(c.GetLoginUrl("http://stat.gaore.com.hk/web/user/login", requests.TEST))
}

func TestClient_CodeAuth(t *testing.T) {
}

+ 20
- 8
services/www/client.go View File

@@ -6,18 +6,18 @@ import (
)

const (
VERSION = "2020-09-24"
VERSION = "2023-03-16"
KEY = "gaore!@#apisdk"
)

var HOST requests.Host = requests.Host{
Default: "apisdk.9ooo.cn",
Func: func(s string) string {
var a = map[string]string{
requests.RELEASE: "apisdk.9ooo.cn",
requests.PRE: "apisdk.9ooo.cn",
requests.TEST: "apisdk.9ooo.cn",
Default: "apisdk.gaore.com.hk",
Func: func(s string, area string) string {
defHost := "apisdk.gaore.com"
if area != "" {
return defHost + "." + area
}
return a[s]
return ""
},
}

@@ -42,3 +42,15 @@ func (c *Client) GetUserInfo(req *GetPwdRequest) (response *GetPwdResponse, err
err = c.DoAction(req, response)
return
}

func (c *Client) UpdateAdjustId(req *UpdateAdjustIdRequest) (resp *UpdateAdjustIdResponse, err error) {
resp = CreateUpdateAdjustIdResponse()
err = c.DoAction(req, resp)
return
}

func NewClient(area string, env ...string) (client *Client, err error) {
client = new(Client)
err = client.InitWithArea(area, env...)
return
}

+ 20
- 0
services/www/client_test.go View File

@@ -23,3 +23,23 @@ func TestClient_GetUserInfo(t *testing.T) {
fmt.Println(resp.GetHttpContentString())
fmt.Println(resp.GetHttpHeaders())
}

func TestClient_UpdateAdjustId(t *testing.T) {
req := CreateUpdateAdjustIdRequest()
req.AdjustId = "8834ca659b22316354e9e9d6dd6b1904"
req.Username = "xn94941370"
req.GameId = 10002
req.RegTime = 1678949413
req.MakeSign()
c, err := NewClient("hk", "")
if err != nil {
t.Error(err)
return
}
resp, err := c.UpdateAdjustId(req)
if err != nil {
t.Error(err)
return
}
t.Log(resp)
}

+ 0
- 1
services/www/get_token.go View File

@@ -1 +0,0 @@
package www

+ 52
- 0
services/www/update_adjustid.go View File

@@ -0,0 +1,52 @@
package www

import (
"crypto/md5"
"fmt"
"golib.gaore.com/GaoreGo/haiwai-common-sdk-go/sdk/requests"
"golib.gaore.com/GaoreGo/haiwai-common-sdk-go/sdk/responses"
"time"
)

type UpdateAdjustIdRequest struct {
*requests.RpcRequest
LongId string `position:"Body" field:"long_id" default:""`
GameId int `position:"Body" field:"game_id" default:"0"`
Username string `position:"Body" field:"username" default:""`
GameSign string `position:"Body" field:"game_sign" default:""`
RegTime int64 `position:"Body" field:"reg_time" default:"0"`
Os string `position:"Body" field:"os" default:""`
AdjustId string `position:"Body" field:"adjust_id" default:""`
ts int64 `position:"Body" field:"ts" default:"0"`
sign string `position:"Body" field:"sign" default:""`
}

func (u *UpdateAdjustIdRequest) MakeSign() {
u.ts = time.Now().Unix()
rawStr := fmt.Sprintf("%s%d%d%s", u.Username, u.GameId, u.ts, KEY)
sign := md5.Sum([]byte(rawStr))
u.sign = fmt.Sprintf("%x", sign)
}

type UpdateAdjustIdResponse struct {
*responses.BaseResponse
Ret int `json:"ret"`
Msg string `json:"msg"`
}

func CreateUpdateAdjustIdRequest() (req *UpdateAdjustIdRequest) {
req = &UpdateAdjustIdRequest{
RpcRequest: &requests.RpcRequest{},
}
req.ts = time.Now().Unix()
req.InitWithApiInfo(HOST, VERSION, "/user/updateAdjustId.php")
req.Method = requests.POST
return
}

func CreateUpdateAdjustIdResponse() (resp *UpdateAdjustIdResponse) {
resp = &UpdateAdjustIdResponse{
BaseResponse: &responses.BaseResponse{},
}
return
}

Loading…
Cancel
Save