diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs index 8e46de45..69733b0e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs @@ -171,6 +171,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /wxa/get_webviewdomain_confirmfile 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/domain-management/getJumpDomainConfirmFile.html + /// + /// + /// + /// + /// + public static async Task ExecuteWxaGetWebviewDomainConfirmFileAsync(this WechatApiClient client, Models.WxaGetWebviewDomainConfirmFileRequest 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, "wxa", "get_webviewdomain_confirmfile") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion #region Register diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileRequest.cs new file mode 100644 index 00000000..a14e42ef --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /wxa/get_webviewdomain_confirmfile 接口的请求。 + /// + public class WxaGetWebviewDomainConfirmFileRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileResponse.cs new file mode 100644 index 00000000..1ed6e349 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /wxa/get_webviewdomain_confirmfile 接口的响应。 + /// + public class WxaGetWebviewDomainConfirmFileResponse : WechatApiResponse + { + /// + /// 获取或设置文件名。 + /// + [Newtonsoft.Json.JsonProperty("file_name")] + [System.Text.Json.Serialization.JsonPropertyName("file_name")] + public string FileName { get; set; } = default!; + + /// + /// 获取或设置文件内容。 + /// + [Newtonsoft.Json.JsonProperty("file_content")] + [System.Text.Json.Serialization.JsonPropertyName("file_content")] + public string FileContent { get; set; } = default!; + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileResponse.json new file mode 100644 index 00000000..d78c256f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaComponent/Domain/WxaGetWebviewDomainConfirmFileResponse.json @@ -0,0 +1,6 @@ +{ + "errcode": 0, + "errmsg": "ok", + "file_name": "xxx", + "file_content": "xxxxxx" +}