diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUnionPromoterExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUnionPromoterExtensions.cs
index 1e34e0c4..9a509da6 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUnionPromoterExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteUnionPromoterExtensions.cs
@@ -100,6 +100,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// 异步调用 [GET] /union/promoter/product/category 接口。
/// REF: https://developers.weixin.qq.com/doc/ministore/union/access-guidelines/promoter/api/product/category.html#_1-%E8%8E%B7%E5%8F%96%E8%81%94%E7%9B%9F%E5%95%86%E5%93%81%E7%B1%BB%E7%9B%AE%E5%88%97%E8%A1%A8%E5%8F%8A%E7%B1%BB%E7%9B%AEID
+ /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/union/access-guidelines/promoter/api/product/category.html
///
///
///
@@ -120,6 +121,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
///
/// 异步调用 [GET] /union/promoter/product/list 接口。
/// REF: https://developers.weixin.qq.com/doc/ministore/union/access-guidelines/promoter/api/product/category.html#_2-%E6%9F%A5%E8%AF%A2%E5%95%86%E5%93%81%E8%AF%A6%E6%83%85%E4%BF%A1%E6%81%AF
+ /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/union/access-guidelines/promoter/api/product/category.html
///
///
///
@@ -160,27 +162,89 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
if (request.HasCoupon.HasValue)
flurlReq.SetQueryParam("hasCoupon", request.HasCoupon.Value ? 1 : 0);
- if (request.ShopAppIdList != null && request.ShopAppIdList.Any())
+ if (request.ShopAppIdList != null)
flurlReq.SetQueryParam("shopAppIds", string.Join(",", request.ShopAppIdList));
if (request.CategoryId.HasValue)
flurlReq.SetQueryParam("categoryId", request.CategoryId);
- if (request.CategoryIdList != null && request.CategoryIdList.Any())
+ if (request.CategoryIdList != null)
flurlReq.SetQueryParam("category", string.Join(",", request.CategoryIdList));
- if (request.CategoryIdBlackList != null && request.CategoryIdBlackList.Any())
+ if (request.CategoryIdBlackList != null)
flurlReq.SetQueryParam("noCategory", string.Join(",", request.CategoryIdBlackList));
- if (request.ProductIdList != null && request.ProductIdList.Any())
+ if (request.ProductIdList != null)
flurlReq.SetQueryParam("productId", string.Join(",", request.ProductIdList));
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+ ///
+ /// 异步调用 [GET] /union/promoter/product/select 接口。
+ /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/union/access-guidelines/promoter/api/product/category.html
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteUnionPromoterProductSelectAsync(this WechatApiClient client, Models.UnionPromoterProductSelectRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Get, "union", "promoter", "product", "select")
+ .SetQueryParam("access_token", request.AccessToken)
+ .SetQueryParam("from", request.Offset)
+ .SetQueryParam("limit", request.Limit);
+
+ if (request.MaxPrice.HasValue)
+ flurlReq.SetQueryParam("maxPrice", request.MaxPrice.Value);
+
+ if (request.MinPrice.HasValue)
+ flurlReq.SetQueryParam("minPrice", request.MinPrice.Value);
+
+ if (request.MinCommissionValue.HasValue)
+ flurlReq.SetQueryParam("minCommissionValue", request.MinCommissionValue.Value);
+
+ if (request.MinCommissionRatio.HasValue)
+ flurlReq.SetQueryParam("minCommissionRatio", request.MinCommissionRatio.Value);
+
+ if (request.SortType.HasValue)
+ flurlReq.SetQueryParam("sortType", request.SortType.Value);
+
+ if (request.HasCoupon.HasValue)
+ flurlReq.SetQueryParam("hasCoupon", request.HasCoupon.Value ? 1 : 0);
+
+ if (request.ShopAppIdList != null)
+ flurlReq.SetQueryParam("shopAppIds", string.Join(",", request.ShopAppIdList));
+
+ if (request.CategoryId.HasValue)
+ flurlReq.SetQueryParam("categoryId", request.CategoryId);
+
+ if (request.CategoryIdList != null)
+ flurlReq.SetQueryParam("category", string.Join(",", request.CategoryIdList));
+
+ if (request.CategoryIdBlackList != null)
+ flurlReq.SetQueryParam("noCategory", string.Join(",", request.CategoryIdBlackList));
+
+ if (request.ProductIdList != null)
+ flurlReq.SetQueryParam("productId", string.Join(",", request.ProductIdList));
+
+ if (request.ShippingMethods != null)
+ flurlReq.SetQueryParam("shippingMethods", client.JsonSerializer.Serialize(request.ShippingMethods));
+
+ if (request.AddressList != null)
+ flurlReq.SetQueryParam("addressList", client.JsonSerializer.Serialize(request.AddressList));
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
///
/// 异步调用 [POST] /union/promoter/product/generate 接口。
/// REF: https://developers.weixin.qq.com/doc/ministore/union/access-guidelines/promoter/api/product/category.html#_3-%E8%8E%B7%E5%8F%96%E5%95%86%E5%93%81%E6%8E%A8%E5%B9%BF%E7%B4%A0%E6%9D%90
+ /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/union/access-guidelines/promoter/api/product/category.html
///
///
///
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Order/UnionPromoterOrderInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Order/UnionPromoterOrderInfoResponse.cs
index 218aaf68..9334d0c7 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Order/UnionPromoterOrderInfoResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Order/UnionPromoterOrderInfoResponse.cs
@@ -24,6 +24,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long ProductId { get; set; }
+ ///
+ /// 获取或设置 SKU ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("skuId")]
+ [System.Text.Json.Serialization.JsonPropertyName("skuId")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long SKUId { get; set; }
+
///
/// 获取或设置商品标题。
///
@@ -47,6 +55,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.SystemTextJsonCurrencyConverter))]
public int Price { get; set; }
+ ///
+ /// 获取或设置商品数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("productCnt")]
+ [System.Text.Json.Serialization.JsonPropertyName("productCnt")]
+ public int ProductCount { get; set; }
+
///
/// 获取或设置佣金比例(单位:万分之一)。
///
@@ -63,6 +78,15 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.SystemTextJsonCurrencyConverter))]
public int CommissionValue { get; set; }
+ ///
+ /// 获取或设置预估佣金金额(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonProperty("estimatedCommission")]
+ [Newtonsoft.Json.JsonConverter(typeof(Converters.NewtonsoftJsonCurrencyConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("estimatedCommission")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(Converters.SystemTextJsonCurrencyConverter))]
+ public int EstimatedCommissionValue { get; set; }
+
///
/// 获取或设置分佣状态。
///
@@ -70,6 +94,22 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("commissionStatus")]
public string CommissionStatus { get; set; } = default!;
+ ///
+ /// 获取或设置分佣状态更新时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("commissionStatusUpdateTime")]
+ [System.Text.Json.Serialization.JsonPropertyName("commissionStatusUpdateTime")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long? CommissionStatusUpdateTimestamp { get; set; }
+
+ ///
+ /// 获取或设置结算时间戳。
+ ///
+ [Newtonsoft.Json.JsonProperty("profitShardingSucTime")]
+ [System.Text.Json.Serialization.JsonPropertyName("profitShardingSucTime")]
+ [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
+ public long? ProfitShardingSuccessTimestamp { get; set; }
+
///
/// 获取或设置商品类目名称,使用逗号分隔。
///
@@ -85,11 +125,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
public Promotion? Promotion { get; set; }
///
- /// 获取或设置自定义扩展参数。
+ /// 获取或设置自定义参数。
///
[Newtonsoft.Json.JsonProperty("customizeInfo")]
[System.Text.Json.Serialization.JsonPropertyName("customizeInfo")]
- public string? CustomizeExtra { get; set; }
+ public string? CustomizeInfo { get; set; }
}
public class Promotion
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs
index 0cc292ea..dc21105e 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs
@@ -162,6 +162,20 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Newtonsoft.Json.JsonProperty("totalStockNum")]
[System.Text.Json.Serialization.JsonPropertyName("totalStockNum")]
public int TotalStock { get; set; }
+
+ ///
+ /// 获取或设置总销量。
+ ///
+ [Newtonsoft.Json.JsonProperty("totalSoldNum")]
+ [System.Text.Json.Serialization.JsonPropertyName("totalSoldNum")]
+ public int TotalSales { get; set; }
+
+ ///
+ /// 获取或设置总订单数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("totalOrderNum")]
+ [System.Text.Json.Serialization.JsonPropertyName("totalOrderNum")]
+ public int TotalOrderCount { get; set; }
}
public class SKU
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductSelectRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductSelectRequest.cs
new file mode 100644
index 00000000..edd89b6a
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductSelectRequest.cs
@@ -0,0 +1,198 @@
+using System;
+using System.Collections.Generic;
+
+/* @codestyle-disable no-jsonable-property-in-request-get */
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [GET] /union/promoter/product/select 接口的请求。
+ ///
+ public class UnionPromoterProductSelectRequest : WechatApiRequest
+ {
+ public static class Types
+ {
+ public class ShippingMethods
+ {
+ ///
+ /// 获取或设置是否开启快递配送。
+ ///
+ [Newtonsoft.Json.JsonProperty("express")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("express")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
+ public bool IsOpenExpress { get; set; }
+
+ ///
+ /// 获取或设置是否开启同城配送。
+ ///
+ [Newtonsoft.Json.JsonProperty("same_city")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("same_city")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
+ public bool IsOpenSameCity { get; set; }
+
+ ///
+ /// 获取或设置是否开启线下自提。
+ ///
+ [Newtonsoft.Json.JsonProperty("pickup")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("pickup")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
+ public bool IsOpenPickup { get; set; }
+ }
+
+ public class Address
+ {
+ public static class Types
+ {
+ public class AddressInformation
+ {
+ ///
+ /// 获取或设置省份名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("provinceName")]
+ [System.Text.Json.Serialization.JsonPropertyName("provinceName")]
+ public string ProvinceName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置城市名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("cityName")]
+ [System.Text.Json.Serialization.JsonPropertyName("cityName")]
+ public string CityName { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置区县名称。
+ ///
+ [Newtonsoft.Json.JsonProperty("countyName")]
+ [System.Text.Json.Serialization.JsonPropertyName("countyName")]
+ public string DistrictName { get; set; } = string.Empty;
+ }
+
+ public class AddressType : ShippingMethods
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置地址信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("addressInfo")]
+ [System.Text.Json.Serialization.JsonPropertyName("addressInfo")]
+ public Types.AddressInformation AddressInformation { get; set; } = new Types.AddressInformation();
+
+ ///
+ /// 获取或设置地址类型信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("addressType")]
+ [System.Text.Json.Serialization.JsonPropertyName("addressType")]
+ public Types.AddressType? AddressType { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置分页起始位置。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int Offset { get; set; }
+
+ ///
+ /// 获取或设置分页每页数量。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int Limit { get; set; } = 20;
+
+ ///
+ /// 获取或设置商品最高价格(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? MaxPrice { get; set; }
+
+ ///
+ /// 获取或设置商品最低价格(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? MinPrice { get; set; }
+
+ ///
+ /// 获取或设置佣金金额下限(单位:分)。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? MinCommissionValue { get; set; }
+
+ ///
+ /// 获取或设置佣金比例下限(单位:万分之一)。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? MinCommissionRatio { get; set; }
+
+ ///
+ /// 获取或设置排序方式。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? SortType { get; set; }
+
+ ///
+ /// 获取或设置小商店 AppId 列表。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public IList? ShopAppIdList { get; set; }
+
+ ///
+ /// 获取或设置是否有联盟优惠券。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public bool? HasCoupon { get; set; }
+
+ ///
+ /// 获取或设置商品类目 ID。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public int? CategoryId { get; set; }
+
+ ///
+ /// 获取或设置商品类目 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public IList? CategoryIdList { get; set; }
+
+ ///
+ /// 获取或设置商品类目 ID 黑名单列表。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public IList? CategoryIdBlackList { get; set; }
+
+ ///
+ /// 获取或设置商品 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public IList? ProductIdList { get; set; }
+
+ ///
+ /// 获取或设置配送方式信息。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public Types.ShippingMethods? ShippingMethods { get; set; }
+
+ ///
+ /// 获取或设置发货地址列表。
+ ///
+ [Newtonsoft.Json.JsonIgnore]
+ [System.Text.Json.Serialization.JsonIgnore]
+ public IList? AddressList { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductSelectResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductSelectResponse.cs
new file mode 100644
index 00000000..67763517
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductSelectResponse.cs
@@ -0,0 +1,33 @@
+using System;
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.Models
+{
+ ///
+ /// 表示 [GET] /union/promoter/product/select 接口的响应。
+ ///
+ public class UnionPromoterProductSelectResponse : WechatApiResponse
+ {
+ public static class Types
+ {
+ public class Product : UnionPromoterProductListResponse.Types.Product
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置商品列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("productList")]
+ [System.Text.Json.Serialization.JsonPropertyName("productList")]
+
+ public Types.Product[] ProductList { get; set; } = default!;
+
+ ///
+ /// 获取或设置商品总数量。
+ ///
+ [Newtonsoft.Json.JsonProperty("total")]
+ [System.Text.Json.Serialization.JsonPropertyName("total")]
+ public int Total { get; set; }
+ }
+}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/UnionPromoter/Product/UnionPromoterProductSelectRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/UnionPromoter/Product/UnionPromoterProductSelectRequest.json
new file mode 100644
index 00000000..22fdca1b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/UnionPromoter/Product/UnionPromoterProductSelectRequest.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/UnionPromoter/Product/UnionPromoterProductSelectResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/UnionPromoter/Product/UnionPromoterProductSelectResponse.json
new file mode 100644
index 00000000..a0cc71ab
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/UnionPromoter/Product/UnionPromoterProductSelectResponse.json
@@ -0,0 +1,128 @@
+{
+ "errcode": 0,
+ "errmsg": "",
+ "productList": [
+ {
+ "productId": "7554942",
+ "product": {
+ "productId": "7554942",
+ "status": 5,
+ "info": {
+ "title": "新增商品并保存case_UpProduct",
+ "subTitle": "这是商品子标题",
+ "headImg": [
+ "https://wxamusic.wx.qq.com/wxasr/getminipic/zncFu89-HApz37MU8ZbwXB-7W09r7a2spQoE8wPrMFG4kgySC04JEIgbjTy8izde?media-id=zncFu89-HApz37MU8ZbwXB-7W09r7a2spQoE8wPrMFG4kgySC04JEIgbjTy8izde&appid=wx678687fa5226e237"
+ ],
+ "category": [
+ {
+ "catId": "1247",
+ "name": "家具"
+ },
+ {
+ "catId": "1267",
+ "name": "儿童家具"
+ },
+ {
+ "catId": "1270",
+ "name": "儿童床"
+ }
+ ],
+ "brand": "",
+ "brandId": "2100000000",
+ "model": "",
+ "detail": {
+ "detailImg": [
+ "https://wxamusic.wx.qq.com/wxasr/getminipic/zncFu89-HApz37MU8ZbwXB-7W09r7a2spQoE8wPrMFG4kgySC04JEIgbjTy8izde?media-id=zncFu89-HApz37MU8ZbwXB-7W09r7a2spQoE8wPrMFG4kgySC04JEIgbjTy8izde&appid=wx678687fa5226e237"
+ ]
+ },
+ "param": [],
+ "minPrice": 2000,
+ "totalStockNum": 0
+ },
+ "skus": []
+ },
+ "leagueExInfo": {
+ "hasCommission": 1,
+ "commissionRatio": 8000,
+ "commissionValue": 1600
+ },
+ "shopInfo": {
+ "name": "猪腩肉小商店",
+ "headImgUrl": "http://wx.qlogo.cn/mmhead/Q3auHgzwzM77ia7ibuPAQBJgME8gFF9APicaSpd7evrLCVb5hn2zsUBOw"
+ }
+ },
+ {
+ "productId": "6565746",
+ "product": {
+ "productId": "6565746",
+ "status": 5,
+ "info": {
+ "title": "测试假发",
+ "subTitle": "测试假发",
+ "headImg": [
+ "https://snsdy.tc.qq.com/161/20304/snscosdownload/SZ/reserved/5fd316dc0000ef4b0000000043785609000000a000004f50"
+ ],
+ "category": [
+ {
+ "catId": "1001",
+ "name": ""
+ },
+ {
+ "catId": "1030",
+ "name": ""
+ },
+ {
+ "catId": "1031",
+ "name": ""
+ }
+ ],
+ "brandId": "2100000000",
+ "detail": {
+ "detailImg": []
+ },
+ "param": [],
+ "minPrice": 100,
+ "totalStockNum": 39995
+ },
+ "skus": [
+ {
+ "skuId": "11913889",
+ "status": 5,
+ "productSkuInfo": {
+ "thumbImg": "",
+ "skuCode": "",
+ "salePrice": 100,
+ "marketPrice": 100,
+ "stockInfo": {
+ "stockNum": 20000
+ }
+ }
+ },
+ {
+ "skuId": "11915862",
+ "status": 5,
+ "productSkuInfo": {
+ "thumbImg": "",
+ "skuCode": "",
+ "salePrice": 100,
+ "marketPrice": 100,
+ "stockInfo": {
+ "stockNum": 20000
+ }
+ }
+ }
+ ]
+ },
+ "leagueExInfo": {
+ "hasCommission": 1,
+ "commissionRatio": 3300,
+ "commissionValue": 33
+ },
+ "shopInfo": {
+ "name": "沅沅小可爱",
+ "headImgUrl": "http://wx.qlogo.cn/mmhead/574VdhMFwaETvsGUwOpJsHAWaM3UDznibq3MMMiaOPSt7Ir1ecTLOfJQ/0"
+ }
+ }
+ ],
+ "total": 100
+}
\ No newline at end of file