feat(wxapi): 调整部分微信商品库相关接口模型的命名方式

This commit is contained in:
Fu Diwei 2022-11-03 17:04:13 +08:00
parent cdd2ca258f
commit 7389dca63c
22 changed files with 198 additions and 104 deletions

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
@ -11,13 +11,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
{
/// <summary>
/// <para>异步调用 [POST] /scan/product/v2/add 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/wechat_goods.html </para>
/// <para>REF: https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=11533749572M9ODP&platform=2 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ScanProductV2AddResponse> ExecuteScanProductV2AddAsync(this WechatApiClient client, Models.ScanProductV2AddRequest request, CancellationToken cancellationToken = default)
public static async Task<Models.ScanProductAddV2Response> ExecuteScanProductAddV2Async(this WechatApiClient client, Models.ScanProductAddV2Request request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
@ -26,18 +26,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
.CreateRequest(request, HttpMethod.Post, "scan", "product", "v2", "add")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductV2AddResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductAddV2Response>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /scan/product/v2/status 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/wechat_goods.html </para>
/// <para>REF: https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=11533749572M9ODP&platform=2 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ScanProductV2StatusResponse> ExecuteScanProductV2StatusAsync(this WechatApiClient client, Models.ScanProductV2StatusRequest request, CancellationToken cancellationToken = default)
public static async Task<Models.ScanProductStatusV2Response> ExecuteScanProductStatusV2Async(this WechatApiClient client, Models.ScanProductStatusV2Request request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
@ -46,18 +46,38 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
.CreateRequest(request, HttpMethod.Post, "scan", "product", "v2", "status")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductV2StatusResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductStatusV2Response>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /scan/product/v2/getinfobypage 接口。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/Official__Accounts/wechat_goods.html </para>
/// <para>异步调用 [POST] /scan/product/v2/getinfo 接口。</para>
/// <para>REF: https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=11533749572M9ODP&platform=2 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ScanProductV2GetInfoByPageResponse> ExecuteScanProductV2GetInfoByPageAsync(this WechatApiClient client, Models.ScanProductV2GetInfoByPageRequest request, CancellationToken cancellationToken = default)
public static async Task<Models.ScanProductGetInfoV2Response> ExecuteScanProductGetInfoV2Async(this WechatApiClient client, Models.ScanProductGetInfoV2Request 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, "scan", "product", "v2", "getinfo")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductGetInfoV2Response>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /scan/product/v2/getinfobypage 接口。</para>
/// <para>REF: https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=11533749572M9ODP&platform=2 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.ScanProductGetInfoByPageV2Response> ExecuteScanProductGetInfoByPageV2Async(this WechatApiClient client, Models.ScanProductGetInfoByPageV2Request request, CancellationToken cancellationToken = default)
{
if (client is null) throw new ArgumentNullException(nameof(client));
if (request is null) throw new ArgumentNullException(nameof(request));
@ -66,7 +86,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
.CreateRequest(request, HttpMethod.Post, "scan", "product", "v2", "getinfobypage")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductV2GetInfoByPageResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
return await client.SendRequestWithJsonAsync<Models.ScanProductGetInfoByPageV2Response>(flurlReq, data: request, cancellationToken: cancellationToken);
}
}
}

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
@ -11,76 +11,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
public static class Types
{
public class Article
public class Article : CgibinMediaUploadNewsRequest.Types.Article
{
/// <summary>
/// 获取或设置图文消息缩略图媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("thumb_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("thumb_media_id")]
public string ThumbnailMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息作者。
/// </summary>
[Newtonsoft.Json.JsonProperty("author")]
[System.Text.Json.Serialization.JsonPropertyName("author")]
public string? Author { get; set; }
/// <summary>
/// 获取或设置图文消息摘要。
/// </summary>
[Newtonsoft.Json.JsonProperty("digest")]
[System.Text.Json.Serialization.JsonPropertyName("digest")]
public string? Digest { get; set; }
/// <summary>
/// 获取或设置图文消息阅读原文 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("content_source_url")]
[System.Text.Json.Serialization.JsonPropertyName("content_source_url")]
public string? ContentSourceUrl { get; set; }
/// <summary>
/// 获取或设置图文消息页面的内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("content")]
[System.Text.Json.Serialization.JsonPropertyName("content")]
public string Content { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否显示封面。
/// </summary>
[Newtonsoft.Json.JsonProperty("show_cover_pic")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("show_cover_pic")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsShowCover { get; set; }
/// <summary>
/// 获取或设置是否打开评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_open_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("need_open_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsOpenComment { get; set; }
/// <summary>
/// 获取或设置是否粉丝才可评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("only_fans_can_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("only_fans_can_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsOnlyFansCanComment { get; set; }
}
}

View File

@ -1,4 +1,4 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/material/batchget_material 接口的响应。</para>
@ -15,9 +15,90 @@
{
public static class Types
{
[System.Obsolete]
public class Article : CgibinMaterialGetMaterialAsNewsResponse.Types.Article
public class Article
{
/// <summary>
/// 获取或设置图文消息缩略图媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("thumb_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("thumb_media_id")]
public string ThumbnailMediaId { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息缩略图 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("thumb_url")]
[System.Text.Json.Serialization.JsonPropertyName("thumb_url")]
public string ThumbnailUrl { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息作者。
/// </summary>
[Newtonsoft.Json.JsonProperty("author")]
[System.Text.Json.Serialization.JsonPropertyName("author")]
public string Author { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息摘要。
/// </summary>
[Newtonsoft.Json.JsonProperty("digest")]
[System.Text.Json.Serialization.JsonPropertyName("digest")]
public string Digest { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息阅读原文 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("content_source_url")]
[System.Text.Json.Serialization.JsonPropertyName("content_source_url")]
public string ContentSourceUrl { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息页面的内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("content")]
[System.Text.Json.Serialization.JsonPropertyName("content")]
public string Content { get; set; } = default!;
/// <summary>
/// 获取或设置图文消息页面的 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("url")]
[System.Text.Json.Serialization.JsonPropertyName("url")]
public string Url { get; set; } = default!;
/// <summary>
/// 获取或设置是否显示封面。
/// </summary>
[Newtonsoft.Json.JsonProperty("show_cover_pic")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("show_cover_pic")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsShowCover { get; set; }
/// <summary>
/// 获取或设置是否打开评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_open_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("need_open_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsOpenComment { get; set; }
/// <summary>
/// 获取或设置是否粉丝才可评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("only_fans_can_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("only_fans_can_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsOnlyFansCanComment { get; set; }
}
}

View File

@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
@ -9,9 +9,76 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
public static class Types
{
[System.Obsolete]
public class Article : CgibinMaterialAddNewsRequest.Types.Article
public class Article
{
/// <summary>
/// 获取或设置图文消息缩略图媒体文件标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("thumb_media_id")]
[System.Text.Json.Serialization.JsonPropertyName("thumb_media_id")]
public string ThumbnailMediaId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息标题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 获取或设置图文消息作者。
/// </summary>
[Newtonsoft.Json.JsonProperty("author")]
[System.Text.Json.Serialization.JsonPropertyName("author")]
public string? Author { get; set; }
/// <summary>
/// 获取或设置图文消息摘要。
/// </summary>
[Newtonsoft.Json.JsonProperty("digest")]
[System.Text.Json.Serialization.JsonPropertyName("digest")]
public string? Digest { get; set; }
/// <summary>
/// 获取或设置图文消息阅读原文 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("content_source_url")]
[System.Text.Json.Serialization.JsonPropertyName("content_source_url")]
public string? ContentSourceUrl { get; set; }
/// <summary>
/// 获取或设置图文消息页面的内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("content")]
[System.Text.Json.Serialization.JsonPropertyName("content")]
public string Content { get; set; } = string.Empty;
/// <summary>
/// 获取或设置是否显示封面。
/// </summary>
[Newtonsoft.Json.JsonProperty("show_cover_pic")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("show_cover_pic")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsShowCover { get; set; }
/// <summary>
/// 获取或设置是否打开评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("need_open_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("need_open_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsOpenComment { get; set; }
/// <summary>
/// 获取或设置是否粉丝才可评论。
/// </summary>
[Newtonsoft.Json.JsonProperty("only_fans_can_comment")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("only_fans_can_comment")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsOnlyFansCanComment { get; set; }
}
}

View File

@ -1,4 +1,4 @@
using System;
using System;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
@ -38,12 +38,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
public CustomCharging[] CustomList { get; set; } = default!;
}
[System.Obsolete]
public class NormalCharging : MerchantExpressAddRequest.Types.Template.Types.NormalCharging
{
}
[System.Obsolete]
public class CustomCharging : MerchantExpressAddRequest.Types.Template.Types.CustomCharging
{
}

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
@ -11,22 +11,18 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
public static class Types
{
[System.Obsolete]
public class Base : MerchantCreateRequest.Types.Base
{
}
[System.Obsolete]
public class SKU : MerchantCreateRequest.Types.SKU
{
}
[System.Obsolete]
public class AttributeExtra : MerchantCreateRequest.Types.AttributeExtra
{
}
[System.Obsolete]
public class Delivery : MerchantCreateRequest.Types.Delivery
{
}

View File

@ -5,7 +5,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
/// <summary>
/// <para>表示 [POST] /scan/product/v2/add 接口的请求。</para>
/// </summary>
public class ScanProductV2AddRequest : WechatApiRequest, IInferable<ScanProductV2AddRequest, ScanProductV2AddResponse>
public class ScanProductAddV2Request : WechatApiRequest, IInferable<ScanProductAddV2Request, ScanProductAddV2Response>
{
public static class Types
{

View File

@ -3,7 +3,7 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/add 接口的响应。</para>
/// </summary>
public class ScanProductV2AddResponse : WechatApiResponse
public class ScanProductAddV2Response : WechatApiResponse
{
/// <summary>
/// 获取或设置用于获取导入结果的票据。

View File

@ -3,7 +3,7 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/getinfobypage 接口的请求。</para>
/// </summary>
public class ScanProductV2GetInfoByPageRequest : WechatApiRequest, IInferable<ScanProductV2GetInfoByPageRequest, ScanProductV2GetInfoByPageResponse>
public class ScanProductGetInfoByPageV2Request : WechatApiRequest, IInferable<ScanProductGetInfoByPageV2Request, ScanProductGetInfoByPageV2Response>
{
/// <summary>
/// 获取或设置翻页标记。

View File

@ -3,11 +3,11 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/getinfobypage 接口的响应。</para>
/// </summary>
public class ScanProductV2GetInfoByPageResponse : WechatApiResponse
public class ScanProductGetInfoByPageV2Response : WechatApiResponse
{
public static class Types
{
public class Product : ScanProductV2GetInfoResponse.Types.Product
public class Product : ScanProductGetInfoV2Response.Types.Product
{
}
}

View File

@ -3,7 +3,7 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/getinfo 接口的请求。</para>
/// </summary>
public class ScanProductV2GetInfoRequest : WechatApiRequest, IInferable<ScanProductV2GetInfoRequest, ScanProductV2GetInfoResponse>
public class ScanProductGetInfoV2Request : WechatApiRequest, IInferable<ScanProductGetInfoV2Request, ScanProductGetInfoV2Response>
{
public static class Types
{

View File

@ -3,7 +3,7 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/getinfo 接口的响应。</para>
/// </summary>
public class ScanProductV2GetInfoResponse : WechatApiResponse
public class ScanProductGetInfoV2Response : WechatApiResponse
{
public static class Types
{

View File

@ -3,7 +3,7 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/status 接口的请求。</para>
/// </summary>
public class ScanProductV2StatusRequest : WechatApiRequest, IInferable<ScanProductV2StatusRequest, ScanProductV2StatusResponse>
public class ScanProductStatusV2Request : WechatApiRequest, IInferable<ScanProductStatusV2Request, ScanProductStatusV2Response>
{
/// <summary>
/// 获取或设置用于获取导入结果的票据。

View File

@ -3,7 +3,7 @@
/// <summary>
/// <para>表示 [POST] /scan/product/v2/status 接口的响应。</para>
/// </summary>
public class ScanProductV2StatusResponse : WechatApiResponse
public class ScanProductStatusV2Response : WechatApiResponse
{
public static class Types
{