From ae39669c89d8dc000007e9a1a9a3a5338c733863 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Wed, 12 Jun 2024 15:07:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(tiktokshop):=20=E9=9A=8F=E5=AE=98=E6=96=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=95=86=E5=93=81=E5=88=86=E7=B1=BB=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TikTokShopClientExecuteProductExtensions.cs | 8 +++++++- .../Product/Brand/ProductGetBrandsRequest.cs | 7 +++++++ .../Category/ProductGetCategoriesRequest.cs | 14 ++++++++++++++ .../ProductGetCategoryAttributesRequest.cs | 7 +++++++ .../Category/ProductGetCategoryRulesRequest.cs | 7 +++++++ .../Category/ProductRecommendCategoriesRequest.cs | 7 +++++++ .../Product/ProductGetListingSchemasRequest.cs | 7 +++++++ .../ProductRecommendCategoriesRequest.json | 1 + 8 files changed, 57 insertions(+), 1 deletion(-) diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Extensions/TikTokShopClientExecuteProductExtensions.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Extensions/TikTokShopClientExecuteProductExtensions.cs index 1c5aa3c9..c106ff1f 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Extensions/TikTokShopClientExecuteProductExtensions.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Extensions/TikTokShopClientExecuteProductExtensions.cs @@ -29,6 +29,7 @@ public static class TikTokShopClientExecuteProductExtensions IFlurlRequest flurlReq = client .CreateFlurlRequest(request, HttpMethod.Get, "product", request.ApiVersion, "brands") .SetQueryParam("category_id", request.CategoryId) + .SetQueryParam("category_version", request.CategoryVersion) .SetQueryParam("brand_name", request.BrandName) .SetQueryParam("page_size", request.PageSize) .SetQueryParam("page_token", request.PageToken); @@ -81,6 +82,8 @@ public static class TikTokShopClientExecuteProductExtensions IFlurlRequest flurlReq = client .CreateFlurlRequest(request, HttpMethod.Get, "product", request.ApiVersion, "categories") + .SetQueryParam("keyword", request.Keyword) + .SetQueryParam("category_version", request.CategoryVersion) .SetQueryParam("locale", request.Locale); return await client.SendFlurlRequesAsJsontAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); @@ -103,7 +106,8 @@ public static class TikTokShopClientExecuteProductExtensions if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client - .CreateFlurlRequest(request, HttpMethod.Get, "product", request.ApiVersion, "categories", request.CategoryId, "rules"); + .CreateFlurlRequest(request, HttpMethod.Get, "product", request.ApiVersion, "categories", request.CategoryId, "rules") + .SetQueryParam("category_version", request.CategoryVersion); return await client.SendFlurlRequesAsJsontAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } @@ -126,6 +130,7 @@ public static class TikTokShopClientExecuteProductExtensions IFlurlRequest flurlReq = client .CreateFlurlRequest(request, HttpMethod.Get, "product", request.ApiVersion, "categories", request.CategoryId, "attributes") + .SetQueryParam("category_version", request.CategoryVersion) .SetQueryParam("locale", request.Locale); return await client.SendFlurlRequesAsJsontAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); @@ -822,6 +827,7 @@ public static class TikTokShopClientExecuteProductExtensions IFlurlRequest flurlReq = client .CreateFlurlRequest(request, HttpMethod.Get, "product", request.ApiVersion, "listing_schemas") .SetQueryParam("category_ids", $"[{string.Join(",", request.CategoryIdList)}]") + .SetQueryParam("category_version", request.CategoryVersion) .SetQueryParam("locale", request.Locale); return await client.SendFlurlRequesAsJsontAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Brand/ProductGetBrandsRequest.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Brand/ProductGetBrandsRequest.cs index 55874307..b5b02287 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Brand/ProductGetBrandsRequest.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Brand/ProductGetBrandsRequest.cs @@ -12,6 +12,13 @@ public class ProductGetBrandsRequest : TikTokShopRequest [System.Text.Json.Serialization.JsonIgnore] public string? CategoryId { get; set; } + /// + /// 获取或设置分类版本。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? CategoryVersion { get; set; } + /// /// 获取或设置是否仅返回已授权品牌。 /// diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoriesRequest.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoriesRequest.cs index 63b829b7..cad6e5f5 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoriesRequest.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoriesRequest.cs @@ -5,6 +5,20 @@ namespace SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop.Models /// public class ProductGetCategoriesRequest : TikTokShopRequest { + /// + /// 获取或设置关键字。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? Keyword { get; set; } + + /// + /// 获取或设置分类版本。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? CategoryVersion { get; set; } + /// /// 获取或设置本地化语种。 /// diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryAttributesRequest.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryAttributesRequest.cs index 2080d173..88a92693 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryAttributesRequest.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryAttributesRequest.cs @@ -12,6 +12,13 @@ public class ProductGetCategoryAttributesRequest : TikTokShopRequest [System.Text.Json.Serialization.JsonIgnore] public string CategoryId { get; set; } = string.Empty; + /// + /// 获取或设置分类版本。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? CategoryVersion { get; set; } + /// /// 获取或设置本地化语种。 /// diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryRulesRequest.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryRulesRequest.cs index b53bd153..758a0ad3 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryRulesRequest.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductGetCategoryRulesRequest.cs @@ -11,5 +11,12 @@ public class ProductGetCategoryRulesRequest : TikTokShopRequest [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] public string CategoryId { get; set; } = string.Empty; + + /// + /// 获取或设置分类版本。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? CategoryVersion { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductRecommendCategoriesRequest.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductRecommendCategoriesRequest.cs index f731e09d..6eee865f 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductRecommendCategoriesRequest.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/Category/ProductRecommendCategoriesRequest.cs @@ -20,6 +20,13 @@ public class Image } } + /// + /// 获取或设置分类版本。 + /// + [Newtonsoft.Json.JsonProperty("category_version")] + [System.Text.Json.Serialization.JsonPropertyName("category_version")] + public string? CategoryVersion { get; set; } + /// /// 获取或设置商品标题。 /// diff --git a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/ProductGetListingSchemasRequest.cs b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/ProductGetListingSchemasRequest.cs index 66bb51c8..a144f0d0 100644 --- a/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/ProductGetListingSchemasRequest.cs +++ b/src/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop/Models/Product/ProductGetListingSchemasRequest.cs @@ -22,6 +22,13 @@ public class ProductGetListingSchemasRequest : TikTokShopRequest [System.Text.Json.Serialization.JsonIgnore] public IList CategoryIdList { get; set; } = new List(); + /// + /// 获取或设置分类版本。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? CategoryVersion { get; set; } + /// /// 获取或设置本地化语种。 /// diff --git a/test/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop.UnitTests/ModelSamples/_/Product/Category/ProductRecommendCategoriesRequest.json b/test/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop.UnitTests/ModelSamples/_/Product/Category/ProductRecommendCategoriesRequest.json index 7de65b39..e48f7ab1 100644 --- a/test/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop.UnitTests/ModelSamples/_/Product/Category/ProductRecommendCategoriesRequest.json +++ b/test/SKIT.FlurlHttpClient.ByteDance.TikTokGlobalShop.UnitTests/ModelSamples/_/Product/Category/ProductRecommendCategoriesRequest.json @@ -1,4 +1,5 @@ { + "category_version": "v1", "description": " ", "images": [ {