From 940bc4f7ae10b1f1635ac3b9587151094967bcdb Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 27 Oct 2022 18:59:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(wxapi):=20=E6=96=B0=E5=A2=9E=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E4=BA=91=E6=89=98=E7=AE=A1=E5=88=9B=E5=BB=BA=E4=BA=91?= =?UTF-8?q?=E6=89=98=E7=AE=A1=E7=8E=AF=E5=A2=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tApiClientExecuteComponentTcbExtensions.cs | 19 ++++++++++ ...TcbCreateCloudBaseRunEnvironmentRequest.cs | 38 +++++++++++++++++++ ...cbCreateCloudBaseRunEnvironmentResponse.cs | 15 ++++++++ ...DescribeCloudBaseRunEnvironmentsRequest.cs | 0 ...escribeCloudBaseRunEnvironmentsResponse.cs | 0 .../ComponentTcbCreateEnvironmentRequest.cs | 4 +- ...bCreateCloudBaseRunEnvironmentRequest.json | 3 ++ ...CreateCloudBaseRunEnvironmentResponse.json | 5 +++ ...cribeCloudBaseRunEnvironmentsResponse.json | 0 9 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.cs rename src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/{CloudBaseEnvironment => CloudBaseRunEnvironment}/ComponentTcbDescribeCloudBaseRunEnvironmentsRequest.cs (100%) rename src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/{CloudBaseEnvironment => CloudBaseRunEnvironment}/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.cs (100%) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.json rename test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/{CloudBaseEnvironment => CloudBaseRunEnvironment}/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.json (100%) diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteComponentTcbExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteComponentTcbExtensions.cs index e06fcb18..738b5d7e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteComponentTcbExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteComponentTcbExtensions.cs @@ -133,6 +133,25 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + /// + /// 异步调用 [POST] /componenttcb/createcloudbaserunenv 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/cloudrun-batch/cloudenv-mgnt/createCloudbaseEnv.html + /// + /// + /// + /// + /// + public static async Task ExecuteComponentTcbCreateCloudBaseRunEnvironmentAsync(this WechatApiClient client, Models.ComponentTcbCreateCloudBaseRunEnvironmentRequest 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, "componenttcb", "createcloudbaserunenv") + .SetQueryParam("access_token", request.ComponentAccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion #region SCF diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.cs new file mode 100644 index 00000000..0a0f8fed --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.cs @@ -0,0 +1,38 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /componenttcb/createcloudbaserunenv 接口的请求。 + /// + public class ComponentTcbCreateCloudBaseRunEnvironmentRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置第三方平台 AccessToken。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ComponentAccessToken { get; set; } = string.Empty; + + /// + /// 获取或设置环境别名。 + /// + [Newtonsoft.Json.JsonProperty("alias")] + [System.Text.Json.Serialization.JsonPropertyName("alias")] + public string? Alias { get; set; } + + /// + /// 获取或设置私有网络 ID。 + /// + [Newtonsoft.Json.JsonProperty("vpc_id")] + [System.Text.Json.Serialization.JsonPropertyName("vpc_id")] + public string? VPCId { get; set; } + + /// + /// 获取或设置子网列表。 + /// + [Newtonsoft.Json.JsonProperty("sub_net_ids")] + [System.Text.Json.Serialization.JsonPropertyName("sub_net_ids")] + public IList? SubNetIdList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.cs new file mode 100644 index 00000000..8bf58d3f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /componenttcb/createcloudbaserunenv 接口的响应。 + /// + public class ComponentTcbCreateCloudBaseRunEnvironmentResponse : WechatApiResponse + { + /// + /// 获取或设置环境 ID。 + /// + [Newtonsoft.Json.JsonProperty("env_id")] + [System.Text.Json.Serialization.JsonPropertyName("env_id")] + public string EnvironmentId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsRequest.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsRequest.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.cs similarity index 100% rename from src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/Environment/ComponentTcbCreateEnvironmentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/Environment/ComponentTcbCreateEnvironmentRequest.cs index 089a58a7..270792b7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/Environment/ComponentTcbCreateEnvironmentRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/Environment/ComponentTcbCreateEnvironmentRequest.cs @@ -1,4 +1,4 @@ -namespace SKIT.FlurlHttpClient.Wechat.Api.Models +namespace SKIT.FlurlHttpClient.Wechat.Api.Models { /// /// 表示 [POST] /componenttcb/createenv 接口的请求。 @@ -17,6 +17,6 @@ /// [Newtonsoft.Json.JsonProperty("alias")] [System.Text.Json.Serialization.JsonPropertyName("alias")] - public string Alias { get; set; } = string.Empty; + public string? Alias { get; set; } } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.json new file mode 100644 index 00000000..87252944 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentRequest.json @@ -0,0 +1,3 @@ +{ + "alias": "testapi" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.json new file mode 100644 index 00000000..68c618a5 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbCreateCloudBaseRunEnvironmentResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "env_id": "testapi-xxxxsdffsewr" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.json similarity index 100% rename from test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.json rename to test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/ComponentTcb/CloudBaseRunEnvironment/ComponentTcbDescribeCloudBaseRunEnvironmentsResponse.json