From e595d096a7e494b458a0ea19a59ba97fd12a33c5 Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Wed, 28 Apr 2021 09:23:24 +0800 Subject: [PATCH] =?UTF-8?q?pdd=E6=8E=A8=E5=B9=BF=E5=95=86=E5=93=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platformapi/pddapi/union.go | 42 ++++++++++++++++++++++++++------ platformapi/pddapi/union_test.go | 2 +- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/platformapi/pddapi/union.go b/platformapi/pddapi/union.go index 7ec088b4..0976b494 100644 --- a/platformapi/pddapi/union.go +++ b/platformapi/pddapi/union.go @@ -206,15 +206,43 @@ func (a *API) ResourceURLGen(pid string, resourceType int) (resourceURLGenResult return resourceURLGenResult, err } +type GoodsPromotionURLGenResult struct { + MobileURL string `json:"mobile_url"` + WeAppInfo struct { + WeAppIconURL string `json:"we_app_icon_url"` + UserName string `json:"user_name"` + PagePath string `json:"page_path"` + SourceDisplayName string `json:"source_display_name"` + Title string `json:"title"` + AppID string `json:"app_id"` + Desc string `json:"desc"` + } `json:"we_app_info"` + MobileShortURL string `json:"mobile_short_url"` + WeAppWebViewURL string `json:"we_app_web_view_url"` + URL string `json:"url"` + ShortURL string `json:"short_url"` + WeAppWebViewShortURL string `json:"we_app_web_view_short_url"` +} + //生成商品推广链接 -func (a *API) GoodsPromotionURLGen(pid string, goodsID string) (resourceURLGenResult *ResourceURLGenResult, err error) { - result, err := a.AccessAPI("pdd.ddk.goods.promotion.url.generate", false, map[string]interface{}{ - "p_id": pid, - //"generate_short_url": true, - "goods_sign_list": []string{"\"" + goodsID + "\""}, - }) +func (a *API) GoodsPromotionURLGen(pid string, goodsID string, isAuth bool) (resourceURLGenResult *GoodsPromotionURLGenResult, err error) { + var resourceURLGenResults []*GoodsPromotionURLGenResult + params := map[string]interface{}{ + "p_id": pid, + "generate_short_url": true, + "goods_sign_list": []string{"\"" + goodsID + "\""}, + //"generate_authority_url": true, + "generate_we_app": true, + } + if isAuth { + params["generate_authority_url"] = true + } + result, err := a.AccessAPI("pdd.ddk.goods.promotion.url.generate", false, params) if err == nil { - utils.Map2StructByJson(result["resource_url_response"], &resourceURLGenResult, false) + utils.Map2StructByJson(result["goods_promotion_url_generate_response"].(map[string]interface{})["goods_promotion_url_list"], &resourceURLGenResults, false) + if len(resourceURLGenResults) > 0 { + return resourceURLGenResults[0], err + } } return resourceURLGenResult, err } diff --git a/platformapi/pddapi/union_test.go b/platformapi/pddapi/union_test.go index 92e408b8..be551f94 100644 --- a/platformapi/pddapi/union_test.go +++ b/platformapi/pddapi/union_test.go @@ -38,7 +38,7 @@ func TestResourceURLGen(t *testing.T) { } func TestGoodsPromotionURLGen(t *testing.T) { - result, err := api.GoodsPromotionURLGen("14501219_204919171", "Y9j2gIZ_GQ1KWDjRwfbZd9rMFl_x9NJ4_JQmOjnZyb5") + result, err := api.GoodsPromotionURLGen("14501219_204919171", "Y9j2gIZ_GQ1KWDjRwfbZd9rMFl_x9NJ4_JQmOjnZyb5", false) if err != nil { t.Fatal(err) }