@@ -0,0 +1,177 @@ | |||||
package cps_pdd | |||||
type ExtendUrl struct { | |||||
GoodsPromotionUrlGenerateResponse struct { | |||||
GoodsPromotionUrlList []struct { | |||||
MobileShortUrl string `json:"mobile_short_url"` | |||||
MobileUrl string `json:"mobile_url"` | |||||
QqAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
QqAppIconUrl string `json:"qq_app_icon_url"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
} `json:"qq_app_info"` | |||||
SchemaUrl string `json:"schema_url"` | |||||
ShortUrl string `json:"short_url"` | |||||
TzSchemaUrl string `json:"tz_schema_url"` | |||||
Url string `json:"url"` | |||||
WeAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
WeAppIconUrl string `json:"we_app_icon_url"` | |||||
} `json:"we_app_info"` | |||||
} `json:"goods_promotion_url_list"` | |||||
} `json:"goods_promotion_url_generate_response"` | |||||
} | |||||
type MainThemeUrl struct { | |||||
ResourceUrlResponse struct { | |||||
MultiUrlList struct { | |||||
ShortUrl string `json:"short_url"` | |||||
Url string `json:"url"` | |||||
} `json:"multi_url_list"` | |||||
Sign string `json:"sign"` | |||||
SingleUrlList struct { | |||||
MobileShortUrl string `json:"mobile_short_url"` | |||||
MobileUrl string `json:"mobile_url"` | |||||
SchemaUrl string `json:"schema_url"` | |||||
ShortUrl string `json:"short_url"` | |||||
TzSchemaUrl string `json:"tz_schema_url"` | |||||
Url string `json:"url"` | |||||
WeAppPagePath string `json:"we_app_page_path"` | |||||
WeAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
WeAppIconUrl string `json:"we_app_icon_url"` | |||||
} `json:"we_app_info"` | |||||
} `json:"single_url_list"` | |||||
WeAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
WeAppIconUrl string `json:"we_app_icon_url"` | |||||
} `json:"we_app_info"` | |||||
} `json:"resource_url_response"` | |||||
} | |||||
type WnMainThemeUrl struct { | |||||
GoodsZsUnitGenerateResponse struct { | |||||
MobileShortUrl string `json:"mobile_short_url"` | |||||
MobileUrl string `json:"mobile_url"` | |||||
SchemaUrl string `json:"schema_url"` | |||||
ShortUrl string `json:"short_url"` | |||||
TzSchemaUrl string `json:"tz_schema_url"` | |||||
Url string `json:"url"` | |||||
WeAppPagePath string `json:"we_app_page_path"` | |||||
WeAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
WeAppIconUrl string `json:"we_app_icon_url"` | |||||
} `json:"we_app_info"` | |||||
} `json:"goods_zs_unit_generate_response"` | |||||
} | |||||
type RpUrl struct { | |||||
RpPromotionUrlGenerateResponse struct { | |||||
ResourceList []struct { | |||||
Desc string `json:"desc"` | |||||
Url string `json:"url"` | |||||
} `json:"resource_list"` | |||||
UrlList []struct { | |||||
MobileShortUrl string `json:"mobile_short_url"` | |||||
MobileUrl string `json:"mobile_url"` | |||||
MultiGroupMobileShortUrl string `json:"multi_group_mobile_short_url"` | |||||
MultiGroupMobileUrl string `json:"multi_group_mobile_url"` | |||||
MultiGroupShortUrl string `json:"multi_group_short_url"` | |||||
MultiGroupUrl string `json:"multi_group_url"` | |||||
QqAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
QqAppIconUrl string `json:"qq_app_icon_url"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
} `json:"qq_app_info"` | |||||
SchemaUrl string `json:"schema_url"` | |||||
ShortUrl string `json:"short_url"` | |||||
TzSchemaUrl string `json:"tz_schema_url"` | |||||
Url string `json:"url"` | |||||
WeAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
WeAppIconUrl string `json:"we_app_icon_url"` | |||||
} `json:"we_app_info"` | |||||
WeixinShortLink string `json:"weixin_short_link"` | |||||
} `json:"url_list"` | |||||
} `json:"rp_promotion_url_generate_response"` | |||||
} | |||||
type PromUrl struct { | |||||
CmsPromotionUrlGenerateResponse struct { | |||||
ResourceList []struct { | |||||
Desc string `json:"desc"` | |||||
Url string `json:"url"` | |||||
} `json:"resource_list"` | |||||
UrlList []struct { | |||||
MobileShortUrl string `json:"mobile_short_url"` | |||||
MobileUrl string `json:"mobile_url"` | |||||
MultiGroupMobileShortUrl string `json:"multi_group_mobile_short_url"` | |||||
MultiGroupMobileUrl string `json:"multi_group_mobile_url"` | |||||
MultiGroupShortUrl string `json:"multi_group_short_url"` | |||||
MultiGroupUrl string `json:"multi_group_url"` | |||||
QqAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
QqAppIconUrl string `json:"qq_app_icon_url"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
} `json:"qq_app_info"` | |||||
SchemaUrl string `json:"schema_url"` | |||||
ShortUrl string `json:"short_url"` | |||||
TzSchemaUrl string `json:"tz_schema_url"` | |||||
Url string `json:"url"` | |||||
WeAppInfo struct { | |||||
AppId string `json:"app_id"` | |||||
BannerUrl string `json:"banner_url"` | |||||
Desc string `json:"desc"` | |||||
PagePath string `json:"page_path"` | |||||
SourceDisplayName string `json:"source_display_name"` | |||||
Title string `json:"title"` | |||||
UserName string `json:"user_name"` | |||||
WeAppIconUrl string `json:"we_app_icon_url"` | |||||
} `json:"we_app_info"` | |||||
WeixinShortLink string `json:"weixin_short_link"` | |||||
} `json:"url_list"` | |||||
} `json:"cms_promotion_url_generate_response"` | |||||
} |
@@ -1 +1,35 @@ | |||||
package pdd_union | package pdd_union | ||||
import ( | |||||
zhios_third_party_utils "code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/utils" | |||||
"github.com/syyongx/php2go" | |||||
"sort" | |||||
"strings" | |||||
"time" | |||||
) | |||||
func Send(keyArr map[string]string, method string, param map[string]interface{}) (string, error) { | |||||
param["client_id"] = keyArr["app_key"] | |||||
param["type"] = method | |||||
param["data_type"] = "JSON" | |||||
param["timestamp"] = time.Now().Unix() * 1000 | |||||
// 获取Key | |||||
var keys []string | |||||
for k := range param { | |||||
keys = append(keys, k) | |||||
} | |||||
// 排序asc | |||||
sort.Strings(keys) | |||||
str := "" | |||||
for _, v := range keys { | |||||
if param[v] == "" { | |||||
continue | |||||
} | |||||
str += v + zhios_third_party_utils.AnyToString(param[v]) | |||||
} | |||||
param["sign"] = strings.ToUpper(php2go.Md5(keyArr["app_secret"] + str + keyArr["app_secret"])) | |||||
url := "http://gw-api.pinduoduo.com/api/router" | |||||
post, err := zhios_third_party_utils.CurlPost(url, param, nil) | |||||
return string(post), err | |||||
} |
@@ -0,0 +1,171 @@ | |||||
package pdd_union | |||||
import ( | |||||
"code.fnuoos.com/go_rely_warehouse/zyos_go_third_party_api.git/md/cps_pdd" | |||||
"encoding/json" | |||||
) | |||||
//https://open.pinduoduo.com/application/document/api?id=pdd.ddk.oauth.goods.prom.url.generate | |||||
func ExtendUrl(keyArr map[string]string, param map[string]interface{}) map[string]string { | |||||
send, _ := Send(keyArr, "pdd.ddk.oauth.goods.prom.url.generate", param) | |||||
var res cps_pdd.ExtendUrl | |||||
json.Unmarshal([]byte(send), &res) | |||||
tmp := map[string]string{ | |||||
"url": "", | |||||
"open_app_url": "", | |||||
"no_open_app_url": "", | |||||
"page_path": "", | |||||
"schema_url": "", | |||||
} | |||||
for _, v := range res.GoodsPromotionUrlGenerateResponse.GoodsPromotionUrlList { | |||||
tmp["url"] = v.ShortUrl | |||||
tmp["open_app_url"] = v.MobileUrl | |||||
tmp["no_open_app_url"] = v.ShortUrl | |||||
tmp["page_path"] = v.WeAppInfo.PagePath | |||||
tmp["schema_url"] = v.SchemaUrl | |||||
if param["open_app"] == "" && param["link_type"] != "" { | |||||
tmp["url"] = v.Url | |||||
} | |||||
if param["open_app"] != "" { | |||||
tmp["url"] = v.MobileShortUrl | |||||
} | |||||
if param["open_app"] != "" && param["link_type"] != "" { | |||||
tmp["url"] = v.MobileUrl | |||||
} | |||||
} | |||||
return tmp | |||||
} | |||||
//https://open.pinduoduo.com/application/document/api?id=pdd.ddk.oauth.resource.url.gen | |||||
func MainThemeUrl(keyArr map[string]string, param map[string]interface{}) map[string]string { | |||||
send, _ := Send(keyArr, "pdd.ddk.oauth.resource.url.gen", param) | |||||
var res cps_pdd.MainThemeUrl | |||||
json.Unmarshal([]byte(send), &res) | |||||
tmp := map[string]string{ | |||||
"url": "", | |||||
"open_app_url": "", | |||||
"no_open_app_url": "", | |||||
"page_path": "", | |||||
"schema_url": "", | |||||
} | |||||
tmp["url"] = res.ResourceUrlResponse.SingleUrlList.ShortUrl | |||||
tmp["open_app_url"] = res.ResourceUrlResponse.SingleUrlList.MobileUrl | |||||
tmp["no_open_app_url"] = res.ResourceUrlResponse.SingleUrlList.ShortUrl | |||||
tmp["page_path"] = res.ResourceUrlResponse.WeAppInfo.PagePath | |||||
tmp["schema_url"] = res.ResourceUrlResponse.SingleUrlList.SchemaUrl | |||||
if param["open_app"] == "" && param["link_type"] != "" { | |||||
tmp["url"] = res.ResourceUrlResponse.SingleUrlList.Url | |||||
} | |||||
if param["open_app"] != "" { | |||||
tmp["url"] = res.ResourceUrlResponse.SingleUrlList.MobileShortUrl | |||||
} | |||||
if param["open_app"] != "" && param["link_type"] != "" { | |||||
tmp["url"] = res.ResourceUrlResponse.SingleUrlList.MobileUrl | |||||
} | |||||
if res.ResourceUrlResponse.SingleUrlList.WeAppInfo.PagePath == "" { | |||||
tmp["page_path"] = res.ResourceUrlResponse.SingleUrlList.WeAppPagePath | |||||
} | |||||
return tmp | |||||
} | |||||
//https://open.pinduoduo.com/application/document/api?id=pdd.ddk.oauth.goods.zs.unit.url.gen | |||||
func WnMainThemeUrl(keyArr map[string]string, param map[string]interface{}) map[string]string { | |||||
send, _ := Send(keyArr, "pdd.ddk.oauth.goods.zs.unit.url.gen", param) | |||||
var res cps_pdd.WnMainThemeUrl | |||||
json.Unmarshal([]byte(send), &res) | |||||
tmp := map[string]string{ | |||||
"url": "", | |||||
"open_app_url": "", | |||||
"no_open_app_url": "", | |||||
"page_path": "", | |||||
"schema_url": "", | |||||
} | |||||
tmp["url"] = res.GoodsZsUnitGenerateResponse.ShortUrl | |||||
tmp["open_app_url"] = res.GoodsZsUnitGenerateResponse.MobileUrl | |||||
tmp["no_open_app_url"] = res.GoodsZsUnitGenerateResponse.ShortUrl | |||||
tmp["page_path"] = res.GoodsZsUnitGenerateResponse.WeAppInfo.PagePath | |||||
tmp["schema_url"] = res.GoodsZsUnitGenerateResponse.SchemaUrl | |||||
if param["open_app"] == "" && param["link_type"] != "" { | |||||
tmp["url"] = res.GoodsZsUnitGenerateResponse.Url | |||||
} | |||||
if param["open_app"] != "" { | |||||
tmp["url"] = res.GoodsZsUnitGenerateResponse.MobileShortUrl | |||||
} | |||||
if param["open_app"] != "" && param["link_type"] != "" { | |||||
tmp["url"] = res.GoodsZsUnitGenerateResponse.MobileUrl | |||||
} | |||||
if res.GoodsZsUnitGenerateResponse.WeAppInfo.PagePath == "" { | |||||
tmp["page_path"] = res.GoodsZsUnitGenerateResponse.WeAppPagePath | |||||
} | |||||
return tmp | |||||
} | |||||
//https://open.pinduoduo.com/application/document/api?id=pdd.ddk.oauth.rp.prom.url.generate | |||||
func RpUrl(keyArr map[string]string, param map[string]interface{}) map[string]string { | |||||
send, _ := Send(keyArr, "pdd.ddk.oauth.rp.prom.url.generate", param) | |||||
var res cps_pdd.RpUrl | |||||
json.Unmarshal([]byte(send), &res) | |||||
tmp := map[string]string{ | |||||
"url": "", | |||||
"open_app_url": "", | |||||
"no_open_app_url": "", | |||||
"page_path": "", | |||||
"schema_url": "", | |||||
"user_name": "", | |||||
"app_id": "", | |||||
} | |||||
for _, v := range res.RpPromotionUrlGenerateResponse.UrlList { | |||||
tmp["url"] = v.ShortUrl | |||||
tmp["open_app_url"] = v.MobileUrl | |||||
tmp["no_open_app_url"] = v.ShortUrl | |||||
tmp["page_path"] = v.WeAppInfo.PagePath | |||||
tmp["user_name"] = v.WeAppInfo.UserName | |||||
tmp["app_id"] = v.WeAppInfo.AppId | |||||
tmp["schema_url"] = v.SchemaUrl | |||||
if param["open_app"] == "" && param["link_type"] != "" { | |||||
tmp["url"] = v.Url | |||||
} | |||||
if param["open_app"] != "" { | |||||
tmp["url"] = v.MobileShortUrl | |||||
} | |||||
if param["open_app"] != "" && param["link_type"] != "" { | |||||
tmp["url"] = v.MobileUrl | |||||
} | |||||
} | |||||
return tmp | |||||
} | |||||
//https://open.pinduoduo.com/application/document/api?id=pdd.ddk.oauth.cms.prom.url.generate | |||||
func PromUrl(keyArr map[string]string, param map[string]interface{}) map[string]string { | |||||
send, _ := Send(keyArr, "pdd.ddk.oauth.cms.prom.url.generate", param) | |||||
var res cps_pdd.PromUrl | |||||
json.Unmarshal([]byte(send), &res) | |||||
tmp := map[string]string{ | |||||
"url": "", | |||||
"open_app_url": "", | |||||
"no_open_app_url": "", | |||||
"page_path": "", | |||||
"schema_url": "", | |||||
"user_name": "", | |||||
"app_id": "", | |||||
} | |||||
for _, v := range res.CmsPromotionUrlGenerateResponse.UrlList { | |||||
tmp["url"] = v.ShortUrl | |||||
tmp["open_app_url"] = v.MobileUrl | |||||
tmp["no_open_app_url"] = v.ShortUrl | |||||
tmp["page_path"] = v.WeAppInfo.PagePath | |||||
tmp["user_name"] = v.WeAppInfo.UserName | |||||
tmp["app_id"] = v.WeAppInfo.AppId | |||||
tmp["schema_url"] = v.SchemaUrl | |||||
if param["open_app"] == "" && param["link_type"] != "" { | |||||
tmp["url"] = v.Url | |||||
} | |||||
if param["open_app"] != "" { | |||||
tmp["url"] = v.MobileShortUrl | |||||
} | |||||
if param["open_app"] != "" && param["link_type"] != "" { | |||||
tmp["url"] = v.MobileUrl | |||||
} | |||||
} | |||||
return tmp | |||||
} |
@@ -0,0 +1,6 @@ | |||||
package pdd_union | |||||
func CreatePid(keyArr map[string]string, param map[string]interface{}) (string, error) { | |||||
send, err := Send(keyArr, "", param) | |||||
return send, err | |||||
} |