|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package t3
-
- import (
- "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/comm"
- zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils"
- "encoding/json"
- "fmt"
- "github.com/syyongx/php2go"
- "github.com/tidwall/gjson"
- "time"
- )
-
- func GetT3Url(key, secret string, param map[string]string) map[string]string {
- jsonStr := comm.GetSortJson(param)
- send, _ := GetSend("/openapi/marketing/union/v1/generate/link", key, secret, param["sourceId"], jsonStr)
- res := map[string]string{
- "link": gjson.Get(send, "data.link").String(),
- "appId": gjson.Get(send, "data.appId").String(),
- "appSource": gjson.Get(send, "data.appSource").String(),
- }
- return res
- }
- func GetT3Order(key, secret string, param map[string]string) []T3Order {
- jsonStr := comm.GetSortJson(param)
- send, _ := GetSend("/openapi/api/v1/marketing/union/activity/order/page", key, secret, param["sourceId"], jsonStr)
- list := make([]T3Order, 0)
- json.Unmarshal([]byte(gjson.Get(send, "data.data").String()), &list)
- return list
- }
- func GetSend(method, key, secret, sourceId, jsonStr string) (string, error) {
- url := "https://exchange.t3go.cn" + method
- now := zhios_third_party_utils.Int64ToStr(time.Now().Unix() * 1000)
- tmp := map[string]string{
- "x-t3-nonce": php2go.Md5(sourceId + now),
- "x-t3-timestamp": now,
- "x-t3-version": "V1",
- "x-t3-key": key,
- "x-t3-signature-method": "MD5",
- }
- signStr := "POST" + method
- headers := make(map[string]string)
- keyList := []string{"x-t3-key", "x-t3-nonce", "x-t3-signature-method", "x-t3-timestamp", "x-t3-version"}
- for _, v := range keyList {
- headers[v] = tmp[v]
- signStr += v + ":" + tmp[v]
- }
- signStr += php2go.Md5(jsonStr) + secret
- headers["x-t3-signature-headers"] = "x-t3-nonce,x-t3-timestamp,x-t3-version,x-t3-key,x-t3-signature-method"
- headers["x-t3-signature"] = php2go.Md5(signStr)
- post, err := zhios_third_party_utils.CurlPost(url, jsonStr, headers)
- fmt.Println(string(post))
- fmt.Println(err)
- return string(post), err
- }
|