package pinduoduo import ( "context" "encoding/json" "go.dtapp.net/gorequest" ) type GoodsOptGetResponse struct { GoodsOptGetResponse struct { GoodsOptList []struct { Level int `json:"level"` // 层级,1-一级,2-二级,3-三级,4-四级 OptId int `json:"opt_id"` // 商品标签ID OptName string `json:"opt_name"` // 商品标签名 ParentOptId int `json:"parent_opt_id"` // id所属父ID,其中,parent_id=0时为顶级节点 } `json:"goods_opt_list"` } `json:"goods_opt_get_response"` } type GoodsOptGetResult struct { Result GoodsOptGetResponse // 结果 Body []byte // 内容 Http gorequest.Response // 请求 Err error // 错误 } func newGoodsOptGetResult(result GoodsOptGetResponse, body []byte, http gorequest.Response, err error) *GoodsOptGetResult { return &GoodsOptGetResult{Result: result, Body: body, Http: http, Err: err} } // GoodsOptGet 查询商品标签列表 // https://open.pinduoduo.com/application/document/api?id=pdd.goods.opt.get func (c *Client) GoodsOptGet(ctx context.Context, parentOptId int) *GoodsOptGetResult { // 参数 param := NewParams() param.Set("parent_opt_id", parentOptId) params := NewParamsWithType("pdd.goods.opt.get", param) // 请求 request, err := c.request(ctx, params) // 定义 var response GoodsOptGetResponse err = json.Unmarshal(request.ResponseBody, &response) return newGoodsOptGetResult(response, request.ResponseBody, request, err) }