diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index 0cb9a9be00d391510967bd6ea5147ce487347cbb..4b2adff4e75cc11e466c54478afcc415fdd1d763 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -417,6 +417,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /channels/ec/brand/valid/list/get 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/brand/valid_list_get.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECBrandValidListGetAsync(this WechatApiClient client, Models.ChannelsECBrandValidListGetRequest 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.Post, "channels", "ec", "brand", "valid", "list", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion #region ECMerchant diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetRequest.cs new file mode 100644 index 0000000000000000000000000000000000000000..99e4ee7addb64b2dce4b2a63d944acb8cf3d6cfc --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetRequest.cs @@ -0,0 +1,23 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/brand/valid/list/get 接口的请求。 + /// + public class ChannelsECBrandValidListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置分页每页页数。 + /// 默认值:10 + /// + [Newtonsoft.Json.JsonProperty("page_size")] + [System.Text.Json.Serialization.JsonPropertyName("page_size")] + public int Limit { get; set; } = 10; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? Cursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetResponse.cs new file mode 100644 index 0000000000000000000000000000000000000000..6cefbc5a70ab3946086df3739b9f813d71e5c298 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBrand/ChannelsECBrandValidListGetResponse.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/brand/valid/list/get 接口的响应。 + /// + public class ChannelsECBrandValidListGetResponse : WechatApiResponse + { + public static class Types + { + public class Brand : ChannelsECBrandValidListGetResponse.Types.Brand + { + } + } + + /// + /// 获取或设置品牌列表。 + /// + [Newtonsoft.Json.JsonProperty("brands")] + [System.Text.Json.Serialization.JsonPropertyName("brands")] + public Types.Brand[] BrandList { get; set; } = default!; + + /// + /// 获取或设置品牌总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_num")] + [System.Text.Json.Serialization.JsonPropertyName("total_num")] + public int TotalCount { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs index 9234ae5d976c4d1e3e838182085ad1598c1ed131..a8fbd5311108667ef3f1d039a5dc658f4ce592ac 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantAddFreightTemplateRequest.cs @@ -155,9 +155,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// 获取或设置是否为默认运费。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] public bool IsDefault { get; set; } /// @@ -267,9 +265,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// 获取或设置是否为默认模版。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))] public bool? IsDefault { get; set; } /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs index 7b79adfabfeeaa1667c5e4d249a0aa460f20c8f2..2a5c47e64251bdf75bf92d0a593aac8af6e72535 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECMerchant/FreightTemplate/ChannelsECMerchantGetFreightTemplateDetailResponse.cs @@ -152,9 +152,7 @@ /// 获取或设置是否为默认运费。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] public bool IsDefault { get; set; } /// @@ -272,9 +270,7 @@ /// 获取或设置是否为默认模版。 /// [Newtonsoft.Json.JsonProperty("is_default")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("is_default")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] public bool IsDefault { get; set; } ///