fudiwei / DotNetCore.SKIT.FlurlHttpClient.Wechat

可能是全网最完整的 C# 版微信 SDK,封装全部已知的微信 OpenAPI,包含微信公众平台(订阅号+服务号+小程序+小游戏+小商店+视频号)、微信开放平台、微信商户平台(微信支付+微企付)、企业微信、微信广告平台、微信智能对话开放平台等模块,可跨平台。持续随官方更新,欢迎 Star/Fork/PR。QQ 交流群 875580418【满】、930461548【满】、611974621。
https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient
MIT License
1.47k stars 285 forks source link

SwaggerGeneratorException #137

Closed flyjoe0309 closed 4 months ago

flyjoe0309 commented 4 months ago

⚠⚠ 请注意:不符合格式要求的 Issue 可能会被直接关闭。


关于问题的简单描述

CgibinMessageSendRequest.Types.TemplateCardMessage.Types.Action与CgibinMessageSendRequest.Types.TemplateCardMessage.Types.ActionMenu.Types.Action冲突


与问题相关的源代码

public class TemplateCardMessage { public static class Types { public class Source { // // 摘要: // 获取或设置来源图片的 URL。 [JsonProperty("icon_url")] [JsonPropertyName("icon_url")] public string IconUrl { get; set; } = string.Empty;

        //
        // 摘要:
        //     获取或设置来源图片的描述。
        [JsonProperty("desc")]
        [JsonPropertyName("desc")]
        public string? Description { get; set; }

        //
        // 摘要:
        //     获取或设置来源图片的描述颜色类型。
        [JsonProperty("desc_color")]
        [JsonPropertyName("desc_color")]
        public int? DescriptionColorType { get; set; }
    }

    public class MainTitle
    {
        //
        // 摘要:
        //     获取或设置标题。
        [JsonProperty("title")]
        [JsonPropertyName("title")]
        public string Title { get; set; } = string.Empty;

        //
        // 摘要:
        //     获取或设置描述。
        [JsonProperty("desc")]
        [JsonPropertyName("desc")]
        public string? Description { get; set; }
    }

    public class Image
    {
        //
        // 摘要:
        //     获取或设置图片 URL。
        [JsonProperty("url")]
        [JsonPropertyName("url")]
        public string Url { get; set; } = string.Empty;

        //
        // 摘要:
        //     获取或设置图片的宽高比。
        [JsonProperty("aspect_ratio")]
        [JsonPropertyName("aspect_ratio")]
        public decimal? AspectRatio { get; set; }
    }

    public class QuoteArea
    {
        //
        // 摘要:
        //     获取或设置类型。
        [JsonProperty("type")]
        [JsonPropertyName("type")]
        public int? Type { get; set; }

        //
        // 摘要:
        //     获取或设置跳转链接。
        [JsonProperty("url")]
        [JsonPropertyName("url")]
        public string? Url { get; set; }

        //
        // 摘要:
        //     获取或设置跳转小程序的 AppId。
        [JsonProperty("appid")]
        [JsonPropertyName("appid")]
        public string? MiniProgramAppId { get; set; }

        //
        // 摘要:
        //     获取或设置跳转小程序的路径。
        [JsonProperty("pagepath")]
        [JsonPropertyName("pagepath")]
        public string? MiniProgramPagePath { get; set; }

        //
        // 摘要:
        //     获取或设置引用文献样式的标题。
        [JsonProperty("title")]
        [JsonPropertyName("title")]
        public string? Title { get; set; }

        //
        // 摘要:
        //     获取或设置引用文献样式的引用文案。
        [JsonProperty("quote_text")]
        [JsonPropertyName("quote_text")]
        public string? QuoteText { get; set; }
    }

    public class EmphasisContent : MainTitle
    {
    }

    public class VerticalContent : MainTitle
    {
    }

    public class HorizontalContent
    {
        //
        // 摘要:
        //     获取或设置二级标题。
        [JsonProperty("keyname")]
        [JsonPropertyName("keyname")]
        public string Key { get; set; } = string.Empty;

        //
        // 摘要:
        //     获取或设置二级文本。
        [JsonProperty("value")]
        [JsonPropertyName("value")]
        public string Value { get; set; } = string.Empty;

        //
        // 摘要:
        //     获取或设置链接类型。
        [JsonProperty("type")]
        [JsonPropertyName("type")]
        public int? Type { get; set; }

        //
        // 摘要:
        //     获取或设置跳转链接。
        [JsonProperty("url")]
        [JsonPropertyName("url")]
        public string? Url { get; set; }

        //
        // 摘要:
        //     获取或设置附件的 MediaId。
        [JsonProperty("media_id")]
        [JsonPropertyName("media_id")]
        public string? MediaId { get; set; }

        //
        // 摘要:
        //     获取或设置成员账号。
        [JsonProperty("userid")]
        [JsonPropertyName("userid")]
        public string? UserId { get; set; }
    }

    public class Action
    {
        //
        // 摘要:
        //     获取或设置跳转链接类型。
        [JsonProperty("type")]
        [JsonPropertyName("type")]
        public int? Type { get; set; }

        //
        // 摘要:
        //     获取或设置跳转链接样式的文案内容。
        [JsonProperty("title")]
        [JsonPropertyName("title")]
        public string Title { get; set; } = string.Empty;

        //
        // 摘要:
        //     获取或设置跳转链接。
        [JsonProperty("url")]
        [JsonPropertyName("url")]
        public string? Url { get; set; }

        //
        // 摘要:
        //     获取或设置跳转小程序的 AppId。
        [JsonProperty("appid")]
        [JsonPropertyName("appid")]
        public string? MiniProgramAppId { get; set; }

        //
        // 摘要:
        //     获取或设置跳转小程序的路径。
        [JsonProperty("pagepath")]
        [JsonPropertyName("pagepath")]
        public string? MiniProgramPagePath { get; set; }
    }

    public class ActionMenu
    {
        public static class Types
        {
            public class Action
            {
                //
                // 摘要:
                //     获取或设置操作按钮 Key。
                [JsonProperty("key")]
                [JsonPropertyName("key")]
                public string Key { get; set; } = string.Empty;

                //
                // 摘要:
                //     获取或设置操作按钮文案。
                [JsonProperty("text")]
                [JsonPropertyName("text")]
                public string Text { get; set; } = string.Empty;

            }

注意,请不要以截图形式提供代码。 image image


异常堆栈或异常原因

处理请求时发生未处理的异常。 InvalidOperationException:不能将 schemaId“$Action”用于类型“$SKIT”。FlurlHttpClient.Wechat.Work.Models.CgibinMessageSendRequest+Types+TemplateCardMessage+Types+ActionMenu+Types+Action“。相同的 schemaId 已用于类型“$SKIT。FlurlHttpClient.Wechat.Work.Models.CgibinMessageSendRequest+Types+TemplateCardMessage+Types+Action”


发生问题的运行环境

请在此填写以下几项内容:

  1. 操作系统:Windows 10专业版64位
  2. .NET 版本:.NET 8.0
  3. 使用的模块及版本:SKIT.FlurlHttpClient.Wechat.Work
  4. 其他环境信息。

补充说明

请在此填写任何其他可以定位问题的信息。

fudiwei commented 4 months ago

https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/1607#issuecomment-607170559