From 60d80194ff5c5949dbbc0d114ee4e21a7eaa83f2 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Tue, 5 Nov 2024 10:59:04 +0800 Subject: [PATCH] =?UTF-8?q?feat(wxapi):=20=E6=96=B0=E5=A2=9E=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=B0=8F=E5=BA=97=E4=B8=BB=E9=A1=B5=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...echatApiClientExecuteChannelsExtensions.cs | 401 ++++++++++++++++++ ...icsHomepageBackgroundApplyCancelRequest.cs | 15 + ...csHomepageBackgroundApplyCancelResponse.cs | 9 + ...icsHomepageBackgroundApplySubmitRequest.cs | 15 + ...csHomepageBackgroundApplySubmitResponse.cs | 16 + ...elsECBasicsHomepageBackgroundGetRequest.cs | 9 + ...lsECBasicsHomepageBackgroundGetResponse.cs | 57 +++ ...ECBasicsHomepageBackgroundRemoveRequest.cs | 9 + ...CBasicsHomepageBackgroundRemoveResponse.cs | 9 + ...CBasicsHomepageBannerApplyCancelRequest.cs | 15 + ...BasicsHomepageBannerApplyCancelResponse.cs | 9 + ...CBasicsHomepageBannerApplySubmitRequest.cs | 139 ++++++ ...BasicsHomepageBannerApplySubmitResponse.cs | 16 + ...hannelsECBasicsHomepageBannerGetRequest.cs | 9 + ...annelsECBasicsHomepageBannerGetResponse.cs | 155 +++++++ ...nelsECBasicsHomepageBannerRemoveRequest.cs | 9 + ...elsECBasicsHomepageBannerRemoveResponse.cs | 9 + ...nelsECStoreClassificationTreeGetRequest.cs | 9 + ...elsECStoreClassificationTreeGetResponse.cs | 88 ++++ ...toreClassificationTreeProductAddRequest.cs | 44 ++ ...oreClassificationTreeProductAddResponse.cs | 9 + ...eClassificationTreeProductDeleteRequest.cs | 24 ++ ...ClassificationTreeProductDeleteResponse.cs | 9 + ...toreClassificationTreeProductGetRequest.cs | 50 +++ ...oreClassificationTreeProductGetResponse.cs | 42 ++ ...nelsECStoreClassificationTreeSetRequest.cs | 97 +++++ ...elsECStoreClassificationTreeSetResponse.cs | 55 +++ ...ChannelsECStoreWindowProductHideRequest.cs | 24 ++ ...hannelsECStoreWindowProductHideResponse.cs | 9 + ...nnelsECStoreWindowProductListGetRequest.cs | 23 + ...nelsECStoreWindowProductListGetResponse.cs | 61 +++ ...nnelsECStoreWindowProductReorderRequest.cs | 22 + ...nelsECStoreWindowProductReorderResponse.cs | 9 + ...annelsECStoreWindowProductSetTopRequest.cs | 24 ++ ...nnelsECStoreWindowProductSetTopResponse.cs | 9 + .../SKIT.FlurlHttpClient.Wechat.Api.csproj | 2 +- ...sHomepageBackgroundApplyCancelRequest.json | 3 + ...sHomepageBackgroundApplySubmitRequest.json | 3 + ...HomepageBackgroundApplySubmitResponse.json | 5 + ...ECBasicsHomepageBackgroundGetResponse.json | 11 + ...asicsHomepageBannerApplyCancelRequest.json | 3 + ...asicsHomepageBannerApplySubmitRequest.json | 41 ++ ...sicsHomepageBannerApplySubmitResponse.json | 5 + ...nelsECBasicsHomepageBannerGetResponse.json | 96 +++++ ...sECStoreClassificationTreeGetResponse.json | 40 ++ ...reClassificationTreeProductAddRequest.json | 7 + ...lassificationTreeProductDeleteRequest.json | 7 + ...reClassificationTreeProductGetRequest.json | 8 + ...eClassificationTreeProductGetResponse.json | 9 + ...lsECStoreClassificationTreeSetRequest.json | 41 ++ ...sECStoreClassificationTreeSetResponse.json | 29 ++ ...annelsECStoreWindowProductHideRequest.json | 4 + ...elsECStoreWindowProductListGetRequest.json | 4 + ...lsECStoreWindowProductListGetResponse.json | 18 + ...elsECStoreWindowProductReorderRequest.json | 4 + ...nelsECStoreWindowProductSetTopRequest.json | 4 + 56 files changed, 1852 insertions(+), 1 deletion(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index d3d692a3..395b9dcc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -399,6 +399,194 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + + #region ECBasics/HomepageBackground + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/background/apply/submit 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBackgroundApplySubmitAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBackgroundApplySubmitRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "background", "apply", "submit") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/background/apply/cancel 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBackgroundApplyCancelAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBackgroundApplyCancelRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "background", "apply", "cancel") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/background/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBackgroundGetAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBackgroundGetRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "background", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/background/remove 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBackgroundRemoveAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBackgroundRemoveRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "background", "remove") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region ECBasics/HomepageBanner + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/banner/apply/submit 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBannerApplySubmitAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBannerApplySubmitRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "banner", "apply", "submit") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/banner/apply/cancel 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBannerApplyCancelAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBannerApplyCancelRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "banner", "apply", "cancel") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/banner/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBannerGetAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBannerGetRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "banner", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/basics/homepage/banner/remove 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECBasicsHomepageBannerRemoveAsync(this WechatApiClient client, Models.ChannelsECBasicsHomepageBannerRemoveRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "basics", "homepage", "banner", "remove") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion #endregion #region ECBrand @@ -4360,6 +4548,219 @@ namespace SKIT.FlurlHttpClient.Wechat.Api } #endregion + #region ECStore + #region ECStore/Classification + /// + /// 异步调用 [POST] /channels/ec/store/classification/tree/product/add 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreClassificationTreeProductAddAsync(this WechatApiClient client, Models.ChannelsECStoreClassificationTreeProductAddRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "classification", "tree", "product", "add") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/classification/tree/product/del 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreClassificationTreeProductDeleteAsync(this WechatApiClient client, Models.ChannelsECStoreClassificationTreeProductDeleteRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "classification", "tree", "product", "del") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/classification/tree/product/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreClassificationTreeProductGetAsync(this WechatApiClient client, Models.ChannelsECStoreClassificationTreeProductGetRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "classification", "tree", "product", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/classification/tree/set 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreClassificationTreeSetAsync(this WechatApiClient client, Models.ChannelsECStoreClassificationTreeSetRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "classification", "tree", "set") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/classification/tree/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreClassificationTreeGetAsync(this WechatApiClient client, Models.ChannelsECStoreClassificationTreeGetRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "classification", "tree", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + + #region ECStore/Window + /// + /// 异步调用 [POST] /channels/ec/store/window/product/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreWindowProductListGetAsync(this WechatApiClient client, Models.ChannelsECStoreWindowProductListGetRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "window", "product", "list", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/window/product/reorder 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreWindowProductReorderAsync(this WechatApiClient client, Models.ChannelsECStoreWindowProductReorderRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "window", "product", "reorder") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/window/product/hide 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreWindowProductHideAsync(this WechatApiClient client, Models.ChannelsECStoreWindowProductHideRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "window", "product", "hide") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/store/window/product/settop 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECStoreWindowProductSetTopAsync(this WechatApiClient client, Models.ChannelsECStoreWindowProductSetTopRequest 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 + .CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "store", "window", "product", "settop") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + #endregion + #region ECVip #region ECVip/ExperienceValue /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.cs new file mode 100644 index 00000000..2c5d7719 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/apply/cancel 接口的请求。 + /// + public class ChannelsECBasicsHomepageBackgroundApplyCancelRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置申请 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + public long ApplyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelResponse.cs new file mode 100644 index 00000000..9602f7ba --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/apply/cancel 接口的响应。 + /// + public class ChannelsECBasicsHomepageBackgroundApplyCancelResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.cs new file mode 100644 index 00000000..31f9a1df --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/apply/submit 接口的请求。 + /// + public class ChannelsECBasicsHomepageBackgroundApplySubmitRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置图片 URL。 + /// + [Newtonsoft.Json.JsonProperty("img_url")] + [System.Text.Json.Serialization.JsonPropertyName("img_url")] + public string ImageUrl { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.cs new file mode 100644 index 00000000..160105e0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.cs @@ -0,0 +1,16 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/apply/submit 接口的响应。 + /// + public class ChannelsECBasicsHomepageBackgroundApplySubmitResponse : WechatApiResponse + { + /// + /// 获取或设置申请 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ApplyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetRequest.cs new file mode 100644 index 00000000..da9a4f7b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/get 接口的请求。 + /// + public class ChannelsECBasicsHomepageBackgroundGetRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.cs new file mode 100644 index 00000000..1e238b2f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.cs @@ -0,0 +1,57 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/get 接口的响应。 + /// + public class ChannelsECBasicsHomepageBackgroundGetResponse : WechatApiResponse + { + public static class Types + { + public class Apply + { + /// + /// 获取或设置图片 URL。 + /// + [Newtonsoft.Json.JsonProperty("img_url")] + [System.Text.Json.Serialization.JsonPropertyName("img_url")] + public string ImageUrl { get; set; } = default!; + + /// + /// 获取或设置申请 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ApplyId { get; set; } + + /// + /// 获取或设置申请状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public int State { get; set; } + + /// + /// 获取或设置审核结果描述。 + /// + [Newtonsoft.Json.JsonProperty("audit_desc")] + [System.Text.Json.Serialization.JsonPropertyName("audit_desc")] + public string? AuditDescription { get; set; } + } + } + + /// + /// 获取或设置当前生效的图片 URL。 + /// + [Newtonsoft.Json.JsonProperty("img_url")] + [System.Text.Json.Serialization.JsonPropertyName("img_url")] + public string ImageUrl { get; set; } = default!; + + /// + /// 获取或设置最近一次申请信息。 + /// + [Newtonsoft.Json.JsonProperty("apply")] + [System.Text.Json.Serialization.JsonPropertyName("apply")] + public Types.Apply? Apply { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveRequest.cs new file mode 100644 index 00000000..a8cca61c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/remove 接口的请求。 + /// + public class ChannelsECBasicsHomepageBackgroundRemoveRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveResponse.cs new file mode 100644 index 00000000..bc4ba956 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundRemoveResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/background/remove 接口的响应。 + /// + public class ChannelsECBasicsHomepageBackgroundRemoveResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.cs new file mode 100644 index 00000000..25698c71 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/apply/cancel 接口的请求。 + /// + public class ChannelsECBasicsHomepageBannerApplyCancelRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置申请 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + public long ApplyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelResponse.cs new file mode 100644 index 00000000..edfe0e13 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/apply/cancel 接口的响应。 + /// + public class ChannelsECBasicsHomepageBannerApplyCancelResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.cs new file mode 100644 index 00000000..6816ae6e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.cs @@ -0,0 +1,139 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/apply/submit 接口的请求。 + /// + public class ChannelsECBasicsHomepageBannerApplySubmitRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class BannerList + { + /// + /// 获取或设置展示样式。 + /// + [Newtonsoft.Json.JsonProperty("scale")] + [System.Text.Json.Serialization.JsonPropertyName("scale")] + public int Scale { get; set; } + + /// + /// 获取或设置展示位列表。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public IList Items { get; set; } = new List(); + } + + public class BannerItem + { + public static class Types + { + public class Banner + { + /// + /// 获取或设置图片 URL。 + /// + [Newtonsoft.Json.JsonProperty("img_url")] + [System.Text.Json.Serialization.JsonPropertyName("img_url")] + public string ImageUrl { get; set; } = string.Empty; + + /// + /// 获取或设置标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + + /// + /// 获取或设置描述。 + /// + [Newtonsoft.Json.JsonProperty("description")] + [System.Text.Json.Serialization.JsonPropertyName("description")] + public string? Description { get; set; } + } + + public class Product + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + } + + public class Finder + { + /// + /// 获取或设置视频号 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_user_name")] + [System.Text.Json.Serialization.JsonPropertyName("finder_user_name")] + public string? FinderUsername { get; set; } + + /// + /// 获取或设置视频 ID。 + /// + [Newtonsoft.Json.JsonProperty("feed_id")] + [System.Text.Json.Serialization.JsonPropertyName("feed_id")] + public string? FeedId { get; set; } + } + + public class OfficialAccount + { + /// + /// 获取或设置公众号文章链接。 + /// + [Newtonsoft.Json.JsonProperty("url")] + [System.Text.Json.Serialization.JsonPropertyName("url")] + public string? Url { get; set; } + } + } + + /// + /// 获取或设置展示位类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置展示位信息。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public Types.Banner Banner { get; set; } = new Types.Banner(); + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("product")] + [System.Text.Json.Serialization.JsonPropertyName("product")] + public Types.Product? Product { get; set; } + + /// + /// 获取或设置视频号信息。 + /// + [Newtonsoft.Json.JsonProperty("finder")] + [System.Text.Json.Serialization.JsonPropertyName("finder")] + public Types.Finder? Finder { get; set; } + + /// + /// 获取或设置公众号信息。 + /// + [Newtonsoft.Json.JsonProperty("official_account")] + [System.Text.Json.Serialization.JsonPropertyName("official_account")] + public Types.OfficialAccount? OfficialAccount { get; set; } + } + } + + /// + /// 获取或设置展示位列表。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public Types.BannerList BannerList { get; set; } = new Types.BannerList(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.cs new file mode 100644 index 00000000..43d29ec3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.cs @@ -0,0 +1,16 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/apply/submit 接口的响应。 + /// + public class ChannelsECBasicsHomepageBannerApplySubmitResponse : WechatApiResponse + { + /// + /// 获取或设置申请 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ApplyId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetRequest.cs new file mode 100644 index 00000000..35390c05 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/get 接口的请求。 + /// + public class ChannelsECBasicsHomepageBannerGetRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.cs new file mode 100644 index 00000000..e55880a6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.cs @@ -0,0 +1,155 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/get 接口的响应。 + /// + public class ChannelsECBasicsHomepageBannerGetResponse : WechatApiResponse + { + public static class Types + { + public class Apply + { + /// + /// 获取或设置申请 ID。 + /// + [Newtonsoft.Json.JsonProperty("apply_id")] + [System.Text.Json.Serialization.JsonPropertyName("apply_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ApplyId { get; set; } + + /// + /// 获取或设置申请状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public int State { get; set; } + + /// + /// 获取或设置展示样式。 + /// + [Newtonsoft.Json.JsonProperty("scale")] + [System.Text.Json.Serialization.JsonPropertyName("scale")] + public int Scale { get; set; } + + /// + /// 获取或设置展示位列表。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public ApplyBanner[] BannerList { get; set; } = default!; + } + + public class ApplyBanner + { + /// + /// 获取或设置审核状态。 + /// + [Newtonsoft.Json.JsonProperty("audit_state")] + [System.Text.Json.Serialization.JsonPropertyName("audit_state")] + public int AuditState { get; set; } + + /// + /// 获取或设置审核结果描述。 + /// + [Newtonsoft.Json.JsonProperty("audit_desc")] + [System.Text.Json.Serialization.JsonPropertyName("audit_desc")] + public string? AuditDescription { get; set; } + + /// + /// 获取或设置展示位信息。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public BannerItem Banner { get; set; } = default!; + } + + public class BannerList + { + /// + /// 获取或设置展示样式。 + /// + [Newtonsoft.Json.JsonProperty("scale")] + [System.Text.Json.Serialization.JsonPropertyName("scale")] + public int Scale { get; set; } + + /// + /// 获取或设置展示位列表。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public BannerItem[] Items { get; set; } = default!; + } + + public class BannerItem + { + public static class Types + { + public class Banner : ChannelsECBasicsHomepageBannerApplySubmitRequest.Types.BannerItem.Types.Banner + { + } + + public class Product : ChannelsECBasicsHomepageBannerApplySubmitRequest.Types.BannerItem.Types.Product + { + } + + public class Finder : ChannelsECBasicsHomepageBannerApplySubmitRequest.Types.BannerItem.Types.Finder + { + } + + public class OfficialAccount : ChannelsECBasicsHomepageBannerApplySubmitRequest.Types.BannerItem.Types.OfficialAccount + { + } + } + + /// + /// 获取或设置展示位类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置展示位信息。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public Types.Banner Banner { get; set; } = default!; + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("product")] + [System.Text.Json.Serialization.JsonPropertyName("product")] + public Types.Product? Product { get; set; } + + /// + /// 获取或设置视频号信息。 + /// + [Newtonsoft.Json.JsonProperty("finder")] + [System.Text.Json.Serialization.JsonPropertyName("finder")] + public Types.Finder? Finder { get; set; } + + /// + /// 获取或设置公众号信息。 + /// + [Newtonsoft.Json.JsonProperty("official_account")] + [System.Text.Json.Serialization.JsonPropertyName("official_account")] + public Types.OfficialAccount? OfficialAccount { get; set; } + } + } + + /// + /// 获取或设置当前生效的展示位列表。 + /// + [Newtonsoft.Json.JsonProperty("banner")] + [System.Text.Json.Serialization.JsonPropertyName("banner")] + public Types.BannerList BannerList { get; set; } = default!; + + /// + /// 获取或设置最近一次申请信息。 + /// + [Newtonsoft.Json.JsonProperty("apply")] + [System.Text.Json.Serialization.JsonPropertyName("apply")] + public Types.Apply? Apply { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveRequest.cs new file mode 100644 index 00000000..b44a7749 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/remove 接口的请求。 + /// + public class ChannelsECBasicsHomepageBannerRemoveRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveResponse.cs new file mode 100644 index 00000000..1cd3a4db --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerRemoveResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/basics/homepage/banner/remove 接口的响应。 + /// + public class ChannelsECBasicsHomepageBannerRemoveResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetRequest.cs new file mode 100644 index 00000000..f318aa04 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/get 接口的请求。 + /// + public class ChannelsECStoreClassificationTreeGetRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.cs new file mode 100644 index 00000000..44e0db4a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.cs @@ -0,0 +1,88 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/get 接口的响应。 + /// + public class ChannelsECStoreClassificationTreeGetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + public static class Types + { + public class ClassificationTree + { + /// + /// 获取或设置一级分类节点信息。 + /// + [Newtonsoft.Json.JsonProperty("level_1")] + [System.Text.Json.Serialization.JsonPropertyName("level_1")] + public Level1ClassificationTreeNode[] Level1Nodes { get; set; } = default!; + } + + public abstract class ClassificationTreeNode + { + /// + /// 获取或设置分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public long Id { get; set; } + + /// + /// 获取或设置分类名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置是否在用户端展示。 + /// + [Newtonsoft.Json.JsonProperty("is_displayed")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_displayed")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))] + public bool IsDisplayed { get; set; } + } + + public class Level1ClassificationTreeNode : ClassificationTreeNode + { + /// + /// 获取或设置二级分类节点信息。 + /// + [Newtonsoft.Json.JsonProperty("level_2")] + [System.Text.Json.Serialization.JsonPropertyName("level_2")] + public Level2ClassificationTreeNode[] Level2Nodes { get; set; } = default!; + } + + public class Level2ClassificationTreeNode : ClassificationTreeNode + { + } + } + + /// + /// 获取或设置版本号。 + /// + [Newtonsoft.Json.JsonProperty("version")] + [System.Text.Json.Serialization.JsonPropertyName("version")] + public int Version { get; set; } + + /// + /// 获取或设置分类树形结构数据。 + /// + [Newtonsoft.Json.JsonProperty("tree")] + [System.Text.Json.Serialization.JsonPropertyName("tree")] + public Types.ClassificationTree ClassificationTree { get; set; } = default!; + } + } + + /// + /// 获取或设置响应数据。 + /// + [Newtonsoft.Json.JsonProperty("resp")] + [System.Text.Json.Serialization.JsonPropertyName("resp")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.cs new file mode 100644 index 00000000..a744ea2f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/product/add 接口的请求。 + /// + public class ChannelsECStoreClassificationTreeProductAddRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Data + { + /// + /// 获取或设置一级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("level_1_id")] + [System.Text.Json.Serialization.JsonPropertyName("level_1_id")] + public long Level1ClassificationId { get; set; } + + /// + /// 获取或设置二级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("level_2_id")] + [System.Text.Json.Serialization.JsonPropertyName("level_2_id")] + public long Level2ClassificationId { get; set; } + + /// + /// 获取或设置商品 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("product_ids")] + [System.Text.Json.Serialization.JsonPropertyName("product_ids")] + public IList ProductIdList { get; set; } = new List(); + } + } + + /// + /// 获取或设置请求数据。 + /// + [Newtonsoft.Json.JsonProperty("req")] + [System.Text.Json.Serialization.JsonPropertyName("req")] + public Types.Data Data { get; set; } = new Types.Data(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddResponse.cs new file mode 100644 index 00000000..df0a2f89 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/product/add 接口的响应。 + /// + public class ChannelsECStoreClassificationTreeProductAddResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.cs new file mode 100644 index 00000000..38b18fa9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/product/del 接口的请求。 + /// + public class ChannelsECStoreClassificationTreeProductDeleteRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Data : ChannelsECStoreClassificationTreeProductAddRequest.Types.Data + { + } + } + + /// + /// 获取或设置请求数据。 + /// + [Newtonsoft.Json.JsonProperty("req")] + [System.Text.Json.Serialization.JsonPropertyName("req")] + public Types.Data Data { get; set; } = new Types.Data(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteResponse.cs new file mode 100644 index 00000000..25e7ac8c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/product/del 接口的响应。 + /// + public class ChannelsECStoreClassificationTreeProductDeleteResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.cs new file mode 100644 index 00000000..de783ee0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.cs @@ -0,0 +1,50 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/product/get 接口的请求。 + /// + public class ChannelsECStoreClassificationTreeProductGetRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Data + { + /// + /// 获取或设置一级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("level_1_id")] + [System.Text.Json.Serialization.JsonPropertyName("level_1_id")] + public long Level1ClassificationId { get; set; } + + /// + /// 获取或设置二级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("level_2_id")] + [System.Text.Json.Serialization.JsonPropertyName("level_2_id")] + public long Level2ClassificationId { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// 默认值:10 + /// + [Newtonsoft.Json.JsonProperty("page_size")] + [System.Text.Json.Serialization.JsonPropertyName("page_size")] + public int Limit { get; set; } = 10; + + /// + /// 获取或设置分页游标。 + /// + [Newtonsoft.Json.JsonProperty("page_context")] + [System.Text.Json.Serialization.JsonPropertyName("page_context")] + public string? Cursor { get; set; } + } + } + + /// + /// 获取或设置请求数据。 + /// + [Newtonsoft.Json.JsonProperty("req")] + [System.Text.Json.Serialization.JsonPropertyName("req")] + public Types.Data Data { get; set; } = new Types.Data(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.cs new file mode 100644 index 00000000..0bcfa230 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/product/get 接口的响应。 + /// + public class ChannelsECStoreClassificationTreeProductGetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + /// + /// 获取或设置商品 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("product_ids")] + [System.Text.Json.Serialization.JsonPropertyName("product_ids")] + public long[] ProductIdList { get; set; } = default!; + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_count")] + [System.Text.Json.Serialization.JsonPropertyName("total_count")] + public int TotalCount { get; set; } + + /// + /// 获取或设置下一页分页游标。 + /// + [Newtonsoft.Json.JsonProperty("page_context")] + [System.Text.Json.Serialization.JsonPropertyName("page_context")] + public string? NextCursor { get; set; } + } + } + + /// + /// 获取或设置响应数据。 + /// + [Newtonsoft.Json.JsonProperty("resp")] + [System.Text.Json.Serialization.JsonPropertyName("resp")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.cs new file mode 100644 index 00000000..caf3cb8d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.cs @@ -0,0 +1,97 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/set 接口的请求。 + /// + public class ChannelsECStoreClassificationTreeSetRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Data + { + public static class Types + { + public class ClassificationTree + { + /// + /// 获取或设置一级分类节点信息。 + /// + [Newtonsoft.Json.JsonProperty("level_1")] + [System.Text.Json.Serialization.JsonPropertyName("level_1")] + public IList Level1Nodes { get; set; } = new List(); + } + + public abstract class ClassificationTreeNode + { + /// + /// 获取或设置分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public long Id { get; set; } + + /// + /// 获取或设置分类名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置是否在用户端展示。 + /// + [Newtonsoft.Json.JsonProperty("is_displayed")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_displayed")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))] + public bool IsDisplayed { get; set; } + } + + public class Level1ClassificationTreeNode : ClassificationTreeNode + { + /// + /// 获取或设置二级分类节点信息。 + /// + [Newtonsoft.Json.JsonProperty("level_2")] + [System.Text.Json.Serialization.JsonPropertyName("level_2")] + public IList Level2Nodes { get; set; } = new List(); + } + + public class Level2ClassificationTreeNode : ClassificationTreeNode + { + } + } + + /// + /// 获取或设置版本号。 + /// + [Newtonsoft.Json.JsonProperty("version")] + [System.Text.Json.Serialization.JsonPropertyName("version")] + public int Version { get; set; } + + /// + /// 获取或设置分类树形结构数据。 + /// + [Newtonsoft.Json.JsonProperty("tree")] + [System.Text.Json.Serialization.JsonPropertyName("tree")] + public Types.ClassificationTree ClassificationTree { get; set; } = new Types.ClassificationTree(); + + /// + /// 获取或设置清空关联的分类 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("classification_id_deleted")] + [System.Text.Json.Serialization.JsonPropertyName("classification_id_deleted")] + public IList DeletedClassificationIdList { get; set; } = new List(); + } + } + + /// + /// 获取或设置请求数据。 + /// + [Newtonsoft.Json.JsonProperty("req")] + [System.Text.Json.Serialization.JsonPropertyName("req")] + public Types.Data Data { get; set; } = new Types.Data(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.cs new file mode 100644 index 00000000..69f8503e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.cs @@ -0,0 +1,55 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/classification/tree/set 接口的响应。 + /// + public class ChannelsECStoreClassificationTreeSetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + public static class Types + { + public class AuditResult + { + /// + /// 获取或设置分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("level_id")] + [System.Text.Json.Serialization.JsonPropertyName("level_id")] + public long ClassificationId { get; set; } + + /// + /// 获取或设置审核结果。 + /// + [Newtonsoft.Json.JsonProperty("result_code")] + [System.Text.Json.Serialization.JsonPropertyName("result_code")] + public int ResultCode { get; set; } + } + } + + /// + /// 获取或设置版本号。 + /// + [Newtonsoft.Json.JsonProperty("version")] + [System.Text.Json.Serialization.JsonPropertyName("version")] + public int Version { get; set; } + + /// + /// 获取或设置审核结果列表。 + /// + [Newtonsoft.Json.JsonProperty("audit_results")] + [System.Text.Json.Serialization.JsonPropertyName("audit_results")] + public Types.AuditResult[] AuditResultList { get; set; } = default!; + } + } + + /// + /// 获取或设置响应数据。 + /// + [Newtonsoft.Json.JsonProperty("resp")] + [System.Text.Json.Serialization.JsonPropertyName("resp")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.cs new file mode 100644 index 00000000..7faf91a3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.cs @@ -0,0 +1,24 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/hide 接口的请求。 + /// + public class ChannelsECStoreWindowProductHideRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + + /// + /// 获取或设置是否隐藏。 + /// + [Newtonsoft.Json.JsonProperty("is_set_hide")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_set_hide")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))] + public bool IsSetHide { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideResponse.cs new file mode 100644 index 00000000..27546d7e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductHideResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/hide 接口的响应。 + /// + public class ChannelsECStoreWindowProductHideResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.cs new file mode 100644 index 00000000..4f68f07f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.cs @@ -0,0 +1,23 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/list/get 接口的请求。 + /// + public class ChannelsECStoreWindowProductListGetRequest : 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/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.cs new file mode 100644 index 00000000..2d87706f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.cs @@ -0,0 +1,61 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/list/get 接口的响应。 + /// + public class ChannelsECStoreWindowProductListGetResponse : WechatApiResponse + { + public static class Types + { + public class Product + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ProductId { get; set; } + + /// + /// 获取或设置是否隐藏。 + /// + [Newtonsoft.Json.JsonProperty("is_set_hide")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_set_hide")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))] + public bool IsSetHide { get; set; } + + /// + /// 获取或设置是否置顶。 + /// + [Newtonsoft.Json.JsonProperty("is_set_top")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_set_top")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))] + public bool IsSetTop { get; set; } + } + } + + /// + /// 获取或设置商品列表。 + /// + [Newtonsoft.Json.JsonProperty("products")] + [System.Text.Json.Serialization.JsonPropertyName("products")] + public Types.Product[] ProductList { 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/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.cs new file mode 100644 index 00000000..4a9adde6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/reorder 接口的请求。 + /// + public class ChannelsECStoreWindowProductReorderRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + + /// + /// 获取或设置商品序号。 + /// + [Newtonsoft.Json.JsonProperty("index_num")] + [System.Text.Json.Serialization.JsonPropertyName("index_num")] + public int IndexNumber { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderResponse.cs new file mode 100644 index 00000000..275afe96 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/reorder 接口的响应。 + /// + public class ChannelsECStoreWindowProductReorderResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.cs new file mode 100644 index 00000000..9a05acd2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.cs @@ -0,0 +1,24 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/settop 接口的请求。 + /// + public class ChannelsECStoreWindowProductSetTopRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + + /// + /// 获取或设置是否置顶。 + /// + [Newtonsoft.Json.JsonProperty("is_set_top")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_set_top")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.NumericalBooleanConverter))] + public bool IsSetTop { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopResponse.cs new file mode 100644 index 00000000..905ef415 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/store/window/product/settop 接口的响应。 + /// + public class ChannelsECStoreWindowProductSetTopResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj b/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj index 7e6f6717..3ee8fcc2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj @@ -15,7 +15,7 @@ https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat Flurl.Http Wechat Weixin MicroMessage MiniProgram MiniGame MiniStore 微信 公众号 服务号 订阅号 小程序 小游戏 小商店 视频号 公众平台 开放平台 微信公众号 微信服务号 微信订阅号 微信小程序 微信小游戏 微信小商店 微信视频号 微信公众平台 微信开放平台 3.5.0 - 基于 Flurl.Http 的微信 API 客户端,支持公众平台(订阅号、服务号、小程序、小游戏、小商店、视频号)、开放平台等平台,支持基础服务、模板消息、订阅消息、客服消息、动态消息、菜单管理、素材管理、留言管理、用户管理、账号管理、草稿箱、发布能力、数据统计、微信门店、微信小店、视频号小店、智能接口、一物一码、微信发票、微信非税缴费、插件管理、附近的小程序、小程序码、小程序搜索、URL Scheme、URL Link、即时配送、物流助手、直播、生物认证、虚拟支付、开放数据、对局匹配、帧同步、内容安全、安全风控、交易组件、小程序联盟、第三方平台、服务平台、视频号小店等功能。 + 基于 Flurl.Http 的微信 API 客户端,支持公众平台(订阅号、服务号、小程序、小游戏、小商店、视频号)、开放平台等平台,支持基础服务、模板消息、订阅消息、客服消息、动态消息、菜单管理、素材管理、留言管理、用户管理、账号管理、草稿箱、发布能力、数据统计、微信门店、微信小店、视频号小店、智能接口、一物一码、微信发票、微信非税缴费、插件管理、附近的小程序、小程序码、小程序搜索、URL Scheme、URL Link、即时配送、物流助手、直播、生物认证、虚拟支付、开放数据、对局匹配、帧同步、内容安全、安全风控、交易组件、小程序联盟、第三方平台、服务平台等功能。 Fu Diwei git https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.json new file mode 100644 index 00000000..ce60103f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplyCancelRequest.json @@ -0,0 +1,3 @@ +{ + "apply_id": 123 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.json new file mode 100644 index 00000000..695f5a8d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitRequest.json @@ -0,0 +1,3 @@ +{ + "img_url": "https://mmecimage.cn/p/abc" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.json new file mode 100644 index 00000000..e764af10 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundApplySubmitResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "apply_id": 123 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.json new file mode 100644 index 00000000..e8fc0b69 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBackground/ChannelsECBasicsHomepageBackgroundGetResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "img_url": "https://mmecimage.cn/p/abc", + "apply": { + "apply_id": 123, + "state": 2, + "audit_desc": "图片不合规", + "img_url": "https://mmecimage.cn/p/xyz" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.json new file mode 100644 index 00000000..ce60103f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplyCancelRequest.json @@ -0,0 +1,3 @@ +{ + "apply_id": 123 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.json new file mode 100644 index 00000000..25b88ab3 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitRequest.json @@ -0,0 +1,41 @@ +{ + "banner": { + "scale": 2, + "banner": [ + { + "type": 1, + "product": { + "product_id": 123 + }, + "banner": { + "description": "测试商品精品展示位描述", + "img_url": "https://store.mp.video.tencent-cloud.com/abc", + "title": "测试商品精品展示位标题" + } + }, + { + "type": 3, + "finder": { + "feed_id": "export/abc", + "finder_user_name": "sphabc" + }, + "banner": { + "description": "测试视频号视频精品展示位描述", + "img_url": "https://store.mp.video.tencent-cloud.com/abc", + "title": "测试视频号视频精品展示位标题" + } + }, + { + "type": 4, + "official_account": { + "url": "https://mp.weixin.qq.com/abc" + }, + "banner": { + "description": "测试公众号文章精品展示位描述", + "img_url": "https://store.mp.video.tencent-cloud.com/abc", + "title": "测试公众号文章精品展示位标题" + } + } + ] + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.json new file mode 100644 index 00000000..e764af10 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerApplySubmitResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "apply_id": 123 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.json new file mode 100644 index 00000000..be45f8ff --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECBasics/HomepageBanner/ChannelsECBasicsHomepageBannerGetResponse.json @@ -0,0 +1,96 @@ +{ + "errcode": 0, + "errmsg": "ok", + "banner": { + "scale": 2, + "banner": [ + { + "type": 1, + "product": { + "product_id": 123 + }, + "banner": { + "img_url": "https://store.mp.video.tencent-cloud.com/abc", + "title": "测试商品展示位标题", + "description": "测试商品展示位描述" + } + }, + { + "type": 3, + "finder": { + "finder_user_name": "sphabc", + "feed_id": "export/abc" + }, + "banner": { + "img_url": "https://store.mp.video.tencent-cloud.com/bcd", + "title": "测试视频号视频展示位标题", + "description": "测试视频号视频展示位描述" + } + }, + { + "type": 4, + "official_account": { + "url": "http://mp.weixin.qq.com/abc" + }, + "banner": { + "img_url": "https://store.mp.video.tencent-cloud.com/cde", + "title": "测试公众号文章展示位标题", + "description": "测试公众号文章展示位描述" + } + } + ] + }, + "apply": { + "apply_id": 123, + "state": 2, + "scale": 2, + "banner": [ + { + "audit_state": 1, + "audit_desc": "图片不合规", + "banner": { + "type": 1, + "product": { + "product_id": 456 + }, + "banner": { + "img_url": "https://store.mp.video.tencent-cloud.com/xyz", + "title": "测试商品展示位标题", + "description": "测试商品展示位描述" + } + } + }, + { + "audit_state": 1, + "audit_desc": "图片不合规", + "banner": { + "type": 4, + "official_account": { + "url": "http://mp.weixin.qq.com/xyz" + }, + "banner": { + "img_url": "https://store.mp.video.tencent-cloud.com/wxy", + "title": "测试公众号文章展示位标题", + "description": "测试公众号文章展示位描述" + } + } + }, + { + "audit_state": 1, + "audit_desc": "图片不合规", + "banner": { + "type": 3, + "finder": { + "finder_user_name": "sphxyz", + "feed_id": "export/xyz" + }, + "banner": { + "img_url": "https://store.mp.video.tencent-cloud.com/vwx", + "title": "测试视频号视频标题", + "description": "测试视频号视频描述" + } + } + } + ] + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.json new file mode 100644 index 00000000..696e9fcf --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeGetResponse.json @@ -0,0 +1,40 @@ +{ + "errcode": 0, + "errmsg": "ok", + "resp": { + "tree": { + "level_1": [ + { + "id": 4, + "name": "测试7", + "level_2": [ + { + "id": 5, + "name": "1", + "is_displayed": true + } + ], + "is_displayed": true + }, + { + "id": 6, + "name": "测试8", + "level_2": [ + { + "id": 7, + "name": "1", + "is_displayed": true + }, + { + "id": 8, + "name": "2", + "is_displayed": true + } + ], + "is_displayed": true + } + ] + }, + "version": 122 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.json new file mode 100644 index 00000000..daf95d88 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductAddRequest.json @@ -0,0 +1,7 @@ +{ + "req": { + "level_1_id": 1, + "level_2_id": 0, + "product_ids": [] + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.json new file mode 100644 index 00000000..daf95d88 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductDeleteRequest.json @@ -0,0 +1,7 @@ +{ + "req": { + "level_1_id": 1, + "level_2_id": 0, + "product_ids": [] + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.json new file mode 100644 index 00000000..8f16068c --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetRequest.json @@ -0,0 +1,8 @@ +{ + "req": { + "level_1_id": 1, + "level_2_id": 0, + "page_size": 5, + "page_context": "" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.json new file mode 100644 index 00000000..d6e4bc06 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeProductGetResponse.json @@ -0,0 +1,9 @@ +{ + "errcode": 0, + "errmsg": "ok", + "resp": { + "product_ids": [], + "total_count": 0, + "page_context": "" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.json new file mode 100644 index 00000000..930348a9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetRequest.json @@ -0,0 +1,41 @@ +{ + "req": { + "version": 121, + "classification_id_deleted": [ + "1.2" + ], + "tree": { + "level_1": [ + { + "id": 4, + "name": "测试7", + "level_2": [ + { + "id": 5, + "name": "1", + "is_displayed": 1 + } + ], + "is_displayed": 1 + }, + { + "id": 6, + "name": "测试8", + "level_2": [ + { + "id": 7, + "name": "1", + "is_displayed": 1 + }, + { + "id": 8, + "name": "2", + "is_displayed": 1 + } + ], + "is_displayed": 1 + } + ] + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.json new file mode 100644 index 00000000..c6cd199b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Classification/ChannelsECStoreClassificationTreeSetResponse.json @@ -0,0 +1,29 @@ +{ + "errcode": 0, + "errmsg": "ok", + "resp": { + "version": 123, + "audit_results": [ + { + "level_id": 4, + "result_code": 2 + }, + { + "level_id": 5, + "result_code": 2 + }, + { + "level_id": 6, + "result_code": 2 + }, + { + "level_id": 7, + "result_code": 2 + }, + { + "level_id": 8, + "result_code": 2 + } + ] + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.json new file mode 100644 index 00000000..764776f8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductHideRequest.json @@ -0,0 +1,4 @@ +{ + "product_id": "1234567002", + "is_set_hide": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.json new file mode 100644 index 00000000..d2d8dbc6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetRequest.json @@ -0,0 +1,4 @@ +{ + "page_size": 10, + "next_key": "THE_NEXT_KEY" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.json new file mode 100644 index 00000000..d31a595f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductListGetResponse.json @@ -0,0 +1,18 @@ +{ + "errcode": 0, + "errmsg": "ok", + "products": [ + { + "product_id": "1234567001", + "is_set_hide": 0, + "is_set_top": 0 + }, + { + "product_id": "1234567002", + "is_set_hide": 0, + "is_set_top": 0 + } + ], + "next_key": "THE_NEXT_KEY_NEW", + "total_num": 100 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.json new file mode 100644 index 00000000..0d7c313a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductReorderRequest.json @@ -0,0 +1,4 @@ +{ + "product_id": "1234567002", + "index_num": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.json new file mode 100644 index 00000000..3b610515 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECStore/Window/ChannelsECStoreWindowProductSetTopRequest.json @@ -0,0 +1,4 @@ +{ + "product_id": "1234567002", + "is_set_top": 1 +}