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"
+ }
+ }
+ ]
+}