diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteTcbExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteTcbExtensions.cs index df37b9e8..c5433cc2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteTcbExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteTcbExtensions.cs @@ -386,6 +386,166 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [POST] /tcb/usecloudaccesstoken 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/usecloudaccesstoken.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbUseCloudAccessTokenAsync(this WechatApiClient client, Models.TcbUseCloudAccessTokenRequest 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, "tcb", "usecloudaccesstoken") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/uploadappconfig 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/uploadAppConfig.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbUploadAppConfigAsync(this WechatApiClient client, Models.TcbUploadAppConfigRequest 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, "tcb", "uploadappconfig") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/getappconfig 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/getAppConfig.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbGetAppConfigAsync(this WechatApiClient client, Models.TcbGetAppConfigRequest 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, "tcb", "getappconfig") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/setcallbackconfig 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/setcallbackconfig.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbSetCallbackConfigAsync(this WechatApiClient client, Models.TcbSetCallbackConfigRequest 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, "tcb", "setcallbackconfig") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/getcallbackconfig 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/getcallbackconfig.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbGetCallbackConfigAsync(this WechatApiClient client, Models.TcbGetCallbackConfigRequest 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, "tcb", "getcallbackconfig") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/getqcloudtoken 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/getqcloudtoken.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbGetQCloudTokenAsync(this WechatApiClient client, Models.TcbGetQCloudTokenRequest 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, "tcb", "getqcloudtoken") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/wxpaylist 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/wxpaylist.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbWxpayListAsync(this WechatApiClient client, Models.TcbWxpayListRequest 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, "tcb", "wxpaylist") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /tcb/wxpayopenauth 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/cloudbase/common/wxpayopenauth.html + /// + /// + /// + /// + /// + public static async Task ExecuteTcbWxpayOpenAuthAsync(this WechatApiClient client, Models.TcbWxpayOpenAuthRequest 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, "tcb", "wxpayopenauth") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/ContainerService/Version/ComponentTcbSetContainerServiceVersionConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/ContainerService/Version/ComponentTcbSetContainerServiceVersionConfigRequest.cs index 70c18331..d93e8da1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/ContainerService/Version/ComponentTcbSetContainerServiceVersionConfigRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/ComponentTcb/ContainerService/Version/ComponentTcbSetContainerServiceVersionConfigRequest.cs @@ -8,6 +8,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// public class ComponentTcbSetContainerServiceVersionConfigRequest : WechatApiRequest { + /// /// 获取或设置第三方平台 AccessToken。 /// [Newtonsoft.Json.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetAppConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetAppConfigRequest.cs new file mode 100644 index 00000000..46dca16c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetAppConfigRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/getappconfig 接口的请求。 + /// + public class TcbGetAppConfigRequest : WechatApiRequest + { + /// + /// 获取或设置配置类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetAppConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetAppConfigResponse.cs new file mode 100644 index 00000000..2ef0e5b9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetAppConfigResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/getappconfig 接口的响应。 + /// + public class TcbGetAppConfigResponse : WechatApiResponse + { + /// + /// 获取或设置 JSON 格式的配置。 + /// + [Newtonsoft.Json.JsonProperty("config")] + [System.Text.Json.Serialization.JsonPropertyName("config")] + public string JsonConfig { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetCallbackConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetCallbackConfigRequest.cs new file mode 100644 index 00000000..5102464f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetCallbackConfigRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/getcallbackconfig 接口的请求。 + /// + public class TcbGetCallbackConfigRequest : WechatApiRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetCallbackConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetCallbackConfigResponse.cs new file mode 100644 index 00000000..bcde0d8c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetCallbackConfigResponse.cs @@ -0,0 +1,69 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/getcallbackconfig 接口的响应。 + /// + public class TcbGetCallbackConfigResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + public static class Types + { + public class ContainerConfig : TcbSetCallbackConfigRequest.Types.ContainerConfig + { + } + + public class FunctionConfig + { + public static class Types + { + public class Callback : TcbSetCallbackConfigRequest.Types.FunctionConfig.Types.Callback + { + } + } + + /// + /// 获取或设置是否开启。 + /// + [Newtonsoft.Json.JsonProperty("enable")] + [System.Text.Json.Serialization.JsonPropertyName("enable")] + public bool IsEnabled { get; set; } + + /// + /// 获取或设置回调列表。 + /// + [Newtonsoft.Json.JsonProperty("callbacks")] + [System.Text.Json.Serialization.JsonPropertyName("callbacks")] + public Types.Callback[]? CallbackList { get; set; } + } + } + + /// + /// 获取或设置云托管配置信息。 + /// + [Newtonsoft.Json.JsonProperty("container_config")] + [System.Text.Json.Serialization.JsonPropertyName("container_config")] + public Types.ContainerConfig Type { get; set; } = default!; + + /// + /// 获取或设置云函数配置信息。 + /// + [Newtonsoft.Json.JsonProperty("function_config")] + [System.Text.Json.Serialization.JsonPropertyName("function_config")] + public Types.FunctionConfig FunctionConfig { get; set; } = default!; + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetQCloudTokenRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetQCloudTokenRequest.cs new file mode 100644 index 00000000..9d5d6ee3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetQCloudTokenRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/getqcloudtoken 接口的请求。 + /// + public class TcbGetQCloudTokenRequest : WechatApiRequest + { + /// + /// 获取或设置有效期(单位:秒)。 + /// + [Newtonsoft.Json.JsonProperty("lifespan")] + [System.Text.Json.Serialization.JsonPropertyName("lifespan")] + public int ExpiresIn { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetQCloudTokenResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetQCloudTokenResponse.cs new file mode 100644 index 00000000..7a580a2f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbGetQCloudTokenResponse.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/getqcloudtoken 接口的响应。 + /// + public class TcbGetQCloudTokenResponse : WechatApiResponse + { + /// + /// 获取或设置 SecretId。 + /// + [Newtonsoft.Json.JsonProperty("secretid")] + [System.Text.Json.Serialization.JsonPropertyName("secretid")] + public string SecretId { get; set; } = default!; + + /// + /// 获取或设置 SecretKey。 + /// + [Newtonsoft.Json.JsonProperty("secretkey")] + [System.Text.Json.Serialization.JsonPropertyName("secretkey")] + public string SecretKey { get; set; } = default!; + + /// + /// 获取或设置 Token。 + /// + [Newtonsoft.Json.JsonProperty("token")] + [System.Text.Json.Serialization.JsonPropertyName("token")] + public string Token { get; set; } = default!; + + /// + /// 获取或设置过期时间戳。 + /// + [Newtonsoft.Json.JsonProperty("expired_time")] + [System.Text.Json.Serialization.JsonPropertyName("expired_time")] + public long ExpireTimestamp { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbSetCallbackConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbSetCallbackConfigRequest.cs new file mode 100644 index 00000000..34151f42 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbSetCallbackConfigRequest.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/setcallbackconfig 接口的请求。 + /// + public class TcbSetCallbackConfigRequest : WechatApiRequest + { + public static class Types + { + public class ContainerConfig + { + /// + /// 获取或设置是否开启。 + /// + [Newtonsoft.Json.JsonProperty("enable")] + [System.Text.Json.Serialization.JsonPropertyName("enable")] + public bool IsEnabled { get; set; } + + /// + /// 获取或设置环境 ID。 + /// + [Newtonsoft.Json.JsonProperty("qbase_env")] + [System.Text.Json.Serialization.JsonPropertyName("qbase_env")] + public string? EnvironmentId { get; set; } + + /// + /// 获取或设置路径。 + /// + [Newtonsoft.Json.JsonProperty("qbase_container_path")] + [System.Text.Json.Serialization.JsonPropertyName("qbase_container_path")] + public string? ContainerPath { get; set; } + + /// + /// 获取或设置文本格式。 + /// + [Newtonsoft.Json.JsonProperty("text_mode")] + [System.Text.Json.Serialization.JsonPropertyName("text_mode")] + public int? TextMode { get; set; } + } + + public class FunctionConfig + { + public static class Types + { + public class Callback + { + /// + /// 获取或设置是否开启。 + /// + [Newtonsoft.Json.JsonProperty("enable")] + [System.Text.Json.Serialization.JsonPropertyName("enable")] + public bool IsEnabled { get; set; } + + /// + /// 获取或设置消息类型。 + /// + [Newtonsoft.Json.JsonProperty("msgType")] + [System.Text.Json.Serialization.JsonPropertyName("msgType")] + public string MessageType { get; set; } = string.Empty; + + /// + /// 获取或设置事件类型。 + /// + [Newtonsoft.Json.JsonProperty("event")] + [System.Text.Json.Serialization.JsonPropertyName("event")] + public string Event { get; set; } = string.Empty; + + /// + /// 获取或设置环境 ID。 + /// + [Newtonsoft.Json.JsonProperty("env")] + [System.Text.Json.Serialization.JsonPropertyName("env")] + public string EnvironmentId { get; set; } = string.Empty; + + /// + /// 获取或设置云函数名称。 + /// + [Newtonsoft.Json.JsonProperty("functionName")] + [System.Text.Json.Serialization.JsonPropertyName("functionName")] + public string FunctionName { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置是否开启。 + /// + [Newtonsoft.Json.JsonProperty("enable")] + [System.Text.Json.Serialization.JsonPropertyName("enable")] + public bool IsEnabled { get; set; } + + /// + /// 获取或设置回调列表。 + /// + [Newtonsoft.Json.JsonProperty("callbacks")] + [System.Text.Json.Serialization.JsonPropertyName("callbacks")] + public IList? CallbackList { get; set; } + } + } + + /// + /// 获取或设置云托管配置信息。 + /// + [Newtonsoft.Json.JsonProperty("container_config")] + [System.Text.Json.Serialization.JsonPropertyName("container_config")] + public Types.ContainerConfig? Type { get; set; } + + /// + /// 获取或设置云函数配置信息。 + /// + [Newtonsoft.Json.JsonProperty("function_config")] + [System.Text.Json.Serialization.JsonPropertyName("function_config")] + public Types.FunctionConfig? FunctionConfig { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbSetCallbackConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbSetCallbackConfigResponse.cs new file mode 100644 index 00000000..8b03492d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbSetCallbackConfigResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/setcallbackconfig 接口的响应。 + /// + public class TcbSetCallbackConfigResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUploadAppConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUploadAppConfigRequest.cs new file mode 100644 index 00000000..3e4d81a8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUploadAppConfigRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/uploadappconfig 接口的请求。 + /// + public class TcbUploadAppConfigRequest : WechatApiRequest + { + /// + /// 获取或设置配置类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置 JSON 格式的配置。 + /// + [Newtonsoft.Json.JsonProperty("config")] + [System.Text.Json.Serialization.JsonPropertyName("config")] + public string JsonConfig { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUploadAppConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUploadAppConfigResponse.cs new file mode 100644 index 00000000..56a92634 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUploadAppConfigResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/uploadappconfig 接口的响应。 + /// + public class TcbUploadAppConfigResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUseCloudAccessTokenRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUseCloudAccessTokenRequest.cs new file mode 100644 index 00000000..7f3034de --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUseCloudAccessTokenRequest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/usecloudaccesstoken 接口的请求。 + /// + public class TcbUseCloudAccessTokenRequest : WechatApiRequest + { + /// + /// 获取或设置操作类型。 + /// + [Newtonsoft.Json.JsonProperty("action")] + [System.Text.Json.Serialization.JsonPropertyName("action")] + public string Action { get; set; } = string.Empty; + + /// + /// 获取或设置环境 ID。 + /// + [Newtonsoft.Json.JsonProperty("env")] + [System.Text.Json.Serialization.JsonPropertyName("env")] + public string EnvironmentId { get; set; } = string.Empty; + + /// + /// 获取或设置是否开启。 + /// + [Newtonsoft.Json.JsonProperty("open")] + [System.Text.Json.Serialization.JsonPropertyName("open")] + public bool? IsOpen { get; set; } + + /// + /// 获取或设置 API 白名单列表。 + /// + [Newtonsoft.Json.JsonProperty("api_whitelist")] + [System.Text.Json.Serialization.JsonPropertyName("api_whitelist")] + public IList? ApiWhiteList { get; set; } + + /// + /// 获取或设置版本号。 + /// + [Newtonsoft.Json.JsonProperty("version")] + [System.Text.Json.Serialization.JsonPropertyName("version")] + public int? Version { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUseCloudAccessTokenResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUseCloudAccessTokenResponse.cs new file mode 100644 index 00000000..e779405b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbUseCloudAccessTokenResponse.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/usecloudaccesstoken 接口的响应。 + /// + public class TcbUseCloudAccessTokenResponse : WechatApiResponse + { + /// + /// 获取或设置是否开启。 + /// + [Newtonsoft.Json.JsonProperty("open")] + [System.Text.Json.Serialization.JsonPropertyName("open")] + public bool? IsOpen { get; set; } + + /// + /// 获取或设置 API 白名单列表。 + /// + [Newtonsoft.Json.JsonProperty("api_whitelist")] + [System.Text.Json.Serialization.JsonPropertyName("api_whitelist")] + public string[]? ApiWhiteList { get; set; } + + /// + /// 获取或设置版本号。 + /// + [Newtonsoft.Json.JsonProperty("version")] + [System.Text.Json.Serialization.JsonPropertyName("version")] + public int? Version { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayListRequest.cs new file mode 100644 index 00000000..50a6e5f1 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayListRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/wxpaylist 接口的请求。 + /// + public class TcbWxpayListRequest : WechatApiRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayListResponse.cs new file mode 100644 index 00000000..7cd25750 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayListResponse.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/wxpaylist 接口的响应。 + /// + public class TcbWxpayListResponse : WechatApiResponse + { + public static class Types + { + public class Merchant + { + /// + /// 获取或设置商户号。 + /// + [Newtonsoft.Json.JsonProperty("merchant_code")] + [System.Text.Json.Serialization.JsonPropertyName("merchant_code")] + public string MerchantId { get; set; } = default!; + + /// + /// 获取或设置商户名称。 + /// + [Newtonsoft.Json.JsonProperty("merchant_name")] + [System.Text.Json.Serialization.JsonPropertyName("merchant_name")] + public string MerchantName { get; set; } = default!; + + /// + /// 获取或设置主体名称。 + /// + [Newtonsoft.Json.JsonProperty("company_name")] + [System.Text.Json.Serialization.JsonPropertyName("company_name")] + public string CompanyName { get; set; } = default!; + + /// + /// 获取或设置绑定关系。 + /// + [Newtonsoft.Json.JsonProperty("mch_relation_state")] + [System.Text.Json.Serialization.JsonPropertyName("mch_relation_state")] + public string RelationState { get; set; } = default!; + + /// + /// 获取或设置 JS-API 授权状态。 + /// + [Newtonsoft.Json.JsonProperty("jsapi_auth_state")] + [System.Text.Json.Serialization.JsonPropertyName("jsapi_auth_state")] + public string JsapiAuthState { get; set; } = default!; + + /// + /// 获取或设置退款授权状态。 + /// + [Newtonsoft.Json.JsonProperty("refund_auth_state")] + [System.Text.Json.Serialization.JsonPropertyName("refund_auth_state")] + public string RefundAuthState { get; set; } = default!; + } + } + + /// + /// 获取或设置商户列表。 + /// + [Newtonsoft.Json.JsonProperty("list")] + [System.Text.Json.Serialization.JsonPropertyName("list")] + public Types.Merchant[] MerchantList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayOpenAuthRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayOpenAuthRequest.cs new file mode 100644 index 00000000..4db8bfd1 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayOpenAuthRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/wxpayopenauth 接口的请求。 + /// + public class TcbWxpayOpenAuthRequest : WechatApiRequest + { + /// + /// 获取或设置操作类型。 + /// + [Newtonsoft.Json.JsonProperty("action")] + [System.Text.Json.Serialization.JsonPropertyName("action")] + public string Action { get; set; } = string.Empty; + + /// + /// 获取或设置商户号。 + /// + [Newtonsoft.Json.JsonProperty("merchant_code")] + [System.Text.Json.Serialization.JsonPropertyName("merchant_code")] + public string MerchantId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayOpenAuthResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayOpenAuthResponse.cs new file mode 100644 index 00000000..12b10680 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Tcb/ThirdPartyPlatforms/TcbWxpayOpenAuthResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /tcb/wxpayopenauth 接口的响应。 + /// + public class TcbWxpayOpenAuthResponse : WechatApiResponse + { + } +}