From a2bd6b2d8e7c5447f2f2ed8f82f83c953e290df0 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 21 Nov 2022 18:30:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(openai):=20=E8=A1=A5=E5=85=85=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=85=AC=E4=BC=97=E5=8F=B7=E3=80=81=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E7=BB=91=E5=AE=9A=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E6=A8=A1=E5=9E=8B=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Mp/GetBindListResponse.cs | 239 +++++++++++++++++- .../ModelSamples/Mp/GetBindListResponse.json | 34 +++ 2 files changed, 271 insertions(+), 2 deletions(-) create mode 100644 test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/Mp/GetBindListResponse.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/Mp/GetBindListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/Mp/GetBindListResponse.cs index 72f1f4d2..8f07733c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/Mp/GetBindListResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/Mp/GetBindListResponse.cs @@ -5,6 +5,242 @@ namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models /// public class GetBindListResponse : WechatOpenAIResponse { + public static class Types + { + public class BindInfo + { + public static class Types + { + public class Data + { + public static class Types + { + public class Authorizer + { + public static class Types + { + public class ServiceType + { + /// + /// 获取或设置类型 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public int Id { get; set; } + + /// + /// 获取或设置类型名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + } + + public class VerifyType : ServiceType + { + } + + public class Business + { + /// + /// 获取或设置是否开通微信门店功能。 + /// + [Newtonsoft.Json.JsonProperty("open_store")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_store")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsOpenStore { get; set; } + + /// + /// 获取或设置是否开通微信扫商品功能。 + /// + [Newtonsoft.Json.JsonProperty("open_scan")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_scan")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsOpenScan { get; set; } + + /// + /// 获取或设置是否开通微信支付功能。 + /// + [Newtonsoft.Json.JsonProperty("open_pay")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_pay")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsOpenPay { get; set; } + + /// + /// 获取或设置是否开通微信卡券功能。 + /// + [Newtonsoft.Json.JsonProperty("open_card")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_card")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsOpenCard { get; set; } + + /// + /// 获取或设置是否开通微信摇一摇功能。 + /// + [Newtonsoft.Json.JsonProperty("open_shake")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_shake")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsOpenShake { get; set; } + } + + public class MiniProgram + { + /// + /// 获取或设置访问状态。 + /// + [Newtonsoft.Json.JsonProperty("visit_status")] + [System.Text.Json.Serialization.JsonPropertyName("visit_status")] + public int VisitStatus { get; set; } + } + } + + /// + /// 获取或设置原始 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_name")] + [System.Text.Json.Serialization.JsonPropertyName("user_name")] + public string Username { get; set; } = default!; + + /// + /// 获取或设置名称。 + /// + [Newtonsoft.Json.JsonProperty("nick_name")] + [System.Text.Json.Serialization.JsonPropertyName("nick_name")] + public string Nickname { get; set; } = default!; + + /// + /// 获取或设置头像 URL。 + /// + [Newtonsoft.Json.JsonProperty("head_img")] + [System.Text.Json.Serialization.JsonPropertyName("head_img")] + public string HeadImageUrl { get; set; } = default!; + + /// + /// 获取或设置公众号或小程序服务类型信息。 + /// + [Newtonsoft.Json.JsonProperty("service_type_info")] + [System.Text.Json.Serialization.JsonPropertyName("service_type_info")] + public Types.ServiceType ServiceType { get; set; } = default!; + + /// + /// 获取或设置公众号或小程序认证类型信息。 + /// + [Newtonsoft.Json.JsonProperty("verify_type_info")] + [System.Text.Json.Serialization.JsonPropertyName("verify_type_info")] + public Types.VerifyType VerifyType { get; set; } = default!; + + /// + /// 获取或设置主体名称。 + /// + [Newtonsoft.Json.JsonProperty("principal_name")] + [System.Text.Json.Serialization.JsonPropertyName("principal_name")] + public string? PrincipalName { get; set; } + + /// + /// 获取或设置微信号。 + /// + [Newtonsoft.Json.JsonProperty("alias")] + [System.Text.Json.Serialization.JsonPropertyName("alias")] + public string? Alias { get; set; } + + /// + /// 获取或设置账号介绍。 + /// + [Newtonsoft.Json.JsonProperty("signature")] + [System.Text.Json.Serialization.JsonPropertyName("signature")] + public string? Signature { get; set; } + + /// + /// 获取或设置二维码图片 URL。 + /// + [Newtonsoft.Json.JsonProperty("qrcode_url")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_url")] + public string? QrcodeUrl { get; set; } + + /// + /// 获取或设置功能信息。 + /// + [Newtonsoft.Json.JsonProperty("business_info")] + [System.Text.Json.Serialization.JsonPropertyName("business_info")] + public Types.Business Business { get; set; } = default!; + + /// + /// 获取或设置小程序信息。 + /// + [Newtonsoft.Json.JsonProperty("MiniProgramInfo")] + [System.Text.Json.Serialization.JsonPropertyName("MiniProgramInfo")] + public Types.MiniProgram? MiniProgram { get; set; } + + /// + /// 获取或设置账号状态。 + /// + [Newtonsoft.Json.JsonProperty("account_status")] + [System.Text.Json.Serialization.JsonPropertyName("account_status")] + public int AccountStatus { get; set; } + + /// + /// 获取或设置注册方式。 + /// + [Newtonsoft.Json.JsonProperty("register_type")] + [System.Text.Json.Serialization.JsonPropertyName("register_type")] + public int? RegisterType { get; set; } + } + + public class Authorization + { + /// + /// 获取或设置授权方 AppId。 + /// + [Newtonsoft.Json.JsonProperty("authorizer_appid")] + [System.Text.Json.Serialization.JsonPropertyName("authorizer_appid")] + public string AuthorizerAppId { get; set; } = default!; + } + } + + /// + /// 获取或设置授权方 AppId。 + /// + [Newtonsoft.Json.JsonProperty("authorizer_appid")] + [System.Text.Json.Serialization.JsonPropertyName("authorizer_appid")] + public string AuthorizerAppId { get; set; } = default!; + + /// + /// 获取或设置授权方信息。 + /// + [Newtonsoft.Json.JsonProperty("authorizer_info")] + [System.Text.Json.Serialization.JsonPropertyName("authorizer_info")] + public Types.Authorizer Authorizer { get; set; } = default!; + + /// + /// 获取或设置授权信息。 + /// + [Newtonsoft.Json.JsonProperty("authorization_info")] + [System.Text.Json.Serialization.JsonPropertyName("authorization_info")] + public Types.Authorization? Authorization { get; set; } + + /// + /// 获取或设置是否已绑定。 + /// + [Newtonsoft.Json.JsonProperty("binded")] + [System.Text.Json.Serialization.JsonPropertyName("binded")] + public bool IsBinded { get; set; } + } + } + + /// + /// 获取或设置绑定信息。 + /// + [Newtonsoft.Json.JsonProperty("info")] + [System.Text.Json.Serialization.JsonPropertyName("info")] + public Types.Data Data { get; set; } = default!; + } + } + /// /// /// @@ -24,7 +260,6 @@ namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models /// [Newtonsoft.Json.JsonProperty("bindlist")] [System.Text.Json.Serialization.JsonPropertyName("bindlist")] - [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.DynamicObjectConverter))] - public dynamic BindList { get; set; } = default!; + public Types.BindInfo[] BindList { get; set; } = default!; } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/Mp/GetBindListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/Mp/GetBindListResponse.json new file mode 100644 index 00000000..0d5515a7 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/Mp/GetBindListResponse.json @@ -0,0 +1,34 @@ +{ + "bindlist": [ + { + "info": { + "authorizer_info": { + "nick_name": "公众号名称", + "head_img": "公众号头像", + "service_type_info": { + "id": 1 + }, + "verify_type_info": { + "id": -1 + }, + "user_name": "未知, gh_xxxxxxx", + "alias": "公众号基础信息-微信号", + "qrcode_url": "公众号二维码URL", + "business_info": { + "open_pay": 0, + "open_shake": 0, + "open_scan": 0, + "open_card": 0, + "open_store": 0 + }, + "principal_name": "公众号基础信息-账号主体,如:个人", + "signature": "公众号简介", + "account_status": 1 + }, + "authorization_info": null, + "binded": true, + "authorizer_appid": "授权方的appid" + } + } + ] +}