From 2531cd353a58ecf8c404f288a260dd41703db94d Mon Sep 17 00:00:00 2001 From: huangjiajun <582604932@qq.com> Date: Thu, 9 May 2024 10:39:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=AC=E4=B8=9C=E8=81=94=E7=9B=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_union/api.go | 59 +++++++++++++++++++++++++++++++++++++++-------- jd_union/goods.go | 2 +- 2 files changed, 51 insertions(+), 10 deletions(-) diff --git a/jd_union/api.go b/jd_union/api.go index 5a7cde3..3ef13bb 100644 --- a/jd_union/api.go +++ b/jd_union/api.go @@ -10,14 +10,16 @@ import ( func Send(keyArr map[string]string, method, paramJson, version string) (string, error) { args := map[string]interface{}{ - "method": method, - "app_key": keyArr["app_key"], - "access_token": keyArr["access_token"], - "timestamp": time.Now().Format("2006-01-02 15:04:05"), - "format": "json", - "v": version, - "param_json": paramJson, - "sign_method": "md5", + "method": method, + "app_key": keyArr["app_key"], + "timestamp": time.Now().Format("2006-01-02 15:04:05"), + "format": "json", + "v": version, + "param_json": paramJson, + "sign_method": "md5", + } + if keyArr["access_token"] != "" { + args["access_token"] = keyArr["access_token"] } // 获取Key var keys []string @@ -34,7 +36,46 @@ func Send(keyArr map[string]string, method, paramJson, version string) (string, str += v + zhios_third_party_utils.AnyToString(args[v]) } args["sign"] = strings.ToUpper(php2go.Md5(keyArr["app_secret"] + str + keyArr["app_secret"])) - url := "https://router.jd.com/api" + url := "https://api.jd.com/routerjson" post, err := zhios_third_party_utils.CurlPost(url, args, nil) return string(post), err } +func SendGet(keyArr map[string]string, method, paramJson, version string) (string, error) { + args := map[string]interface{}{ + "method": method, + "app_key": keyArr["app_key"], + "timestamp": time.Now().Format("2006-01-02 15:04:05"), + "format": "json", + "v": version, + "360buy_param_json": paramJson, + "sign_method": "md5", + } + if keyArr["access_token"] != "" { + args["access_token"] = keyArr["access_token"] + } + // 获取Key + var keys []string + for k := range args { + keys = append(keys, k) + } + // 排序asc + sort.Strings(keys) + str := "" + for _, v := range keys { + if args[v] == "" { + continue + } + str += v + zhios_third_party_utils.AnyToString(args[v]) + } + args["sign"] = strings.ToUpper(php2go.Md5(keyArr["app_secret"] + str + keyArr["app_secret"])) + url := "https://api.jd.com/routerjson" + for k, v := range args { + if strings.Contains(url, "?") == false { + url += "?" + k + "=" + php2go.URLEncode(zhios_third_party_utils.AnyToString(v)) + } else { + url += "&" + k + "=" + php2go.URLEncode(zhios_third_party_utils.AnyToString(v)) + } + } + post, err := zhios_third_party_utils.CurlGet(url, nil) + return string(post), err +} diff --git a/jd_union/goods.go b/jd_union/goods.go index a7b08ed..22c17a7 100644 --- a/jd_union/goods.go +++ b/jd_union/goods.go @@ -7,6 +7,6 @@ func SearchGoods(keyArr map[string]string, goodsReq map[string]interface{}) (str "goodsReqDTO": goodsReq, } paramJson := zhios_third_party_utils.SerializeStr(param) - send, err := Send(keyArr, "", paramJson, "1.0") + send, err := SendGet(keyArr, "jd.union.open.goods.query", paramJson, "1.0") return send, err }