diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs index b86748d4..30d98816 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteWxaComponentExtensions.cs @@ -560,6 +560,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + /// + /// 异步调用 [GET] /wxa/security/get_code_privacy_info 接口。 + /// REF: https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/miniprogram-management/code-management/getCodePrivacyInfo.html + /// + /// + /// + /// + /// + public static async Task ExecuteWxaSecurityGetCodePrivacyInfoAsync(this WechatApiClient client, Models.WxaSecurityGetCodePrivacyInfoRequest 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.Get, "wxa", "security", "get_code_privacy_info") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } #endregion #region Member diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoRequest.cs new file mode 100644 index 00000000..4f3aeeb8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [GET] /wxa/security/get_code_privacy_info 接口的请求。 + /// + public class WxaSecurityGetCodePrivacyInfoRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoResponse.cs new file mode 100644 index 00000000..bfb18249 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [GET] /wxa/security/get_code_privacy_info 接口的响应。 + /// + public class WxaSecurityGetCodePrivacyInfoResponse : WechatApiResponse + { + /// + /// 获取或设置没权限的隐私接口的 API 英文名。 + /// + [Newtonsoft.Json.JsonProperty("without_auth_list")] + [System.Text.Json.Serialization.JsonPropertyName("without_auth_list")] + public string[] WithoutAuthApiNameList { get; set; } = default!; + + /// + /// 获取或设置没配置的隐私接口的 API 英文名。 + /// + [Newtonsoft.Json.JsonProperty("without_conf_list")] + [System.Text.Json.Serialization.JsonPropertyName("without_conf_list")] + public string[] WithoutConfigApiNameList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetPrivacyInterfaceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetPrivacyInterfaceResponse.cs index 4a84b9ae..27895de2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetPrivacyInterfaceResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/WxaComponent/Security/WxaSecurityGetPrivacyInterfaceResponse.cs @@ -1,5 +1,3 @@ -using System.Collections.Generic; - namespace SKIT.FlurlHttpClient.Wechat.Api.Models { /// diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoResponse.json new file mode 100644 index 00000000..7c59d282 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/WxaComponent/Security/WxaSecurityGetCodePrivacyInfoResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "without_auth_list": [ + "wx.getLocation", + "wx.onLocationChange" + ], + "without_conf_list": [ + "wx.onLocationChange" + ] +}