diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/ChangeAuthEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/ChangeAuthEvent.cs index 722ebac4..78566093 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/ChangeAuthEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Events/Service/ChangeAuthEvent.cs @@ -1,11 +1,36 @@ -namespace SKIT.FlurlHttpClient.Wechat.Work.Events +namespace SKIT.FlurlHttpClient.Wechat.Work.Events { /// /// 表示 INFO.change_auth 事件的数据。 /// REF: https://developer.work.weixin.qq.com/document/path/90642 + /// REF: https://developer.work.weixin.qq.com/document/path/99401 /// public class ChangeAuthEvent : WechatWorkEvent, WechatWorkEvent.Serialization.IXmlSerializable { + public static class Types + { + public class Extra + { + public static class Types + { + public class AuthorizedOpenKfIdList + { + /// + /// 获取或设置客服账号列表。 + /// + [System.Xml.Serialization.XmlElement("OpenKfId", Type = typeof(string))] + public string[] Items { get; set; } = default!; + } + } + + /// + /// 获取或设置用户本次授权的客服账号列表。 + /// + [System.Xml.Serialization.XmlElement("AuthOpenKfIdList", IsNullable = true)] + public Types.AuthorizedOpenKfIdList? AuthorizedOpenKfIdList { get; set; } + } + } + /// /// 获取或设置第三方应用的 SuiteId。 /// @@ -17,5 +42,11 @@ /// [System.Xml.Serialization.XmlElement("AuthCorpId")] public string AuthorizerCorpId { get; set; } = default!; + + /// + /// 获取或设置事件信息。 + /// + [System.Xml.Serialization.XmlElement("ExtraInfo", IsNullable = true)] + public Types.Extra? Extra { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAppChat/CgibinAppChatSendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAppChat/CgibinAppChatSendRequest.cs index bdb8f513..4f40b2c7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAppChat/CgibinAppChatSendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinAppChat/CgibinAppChatSendRequest.cs @@ -1,4 +1,4 @@ -namespace SKIT.FlurlHttpClient.Wechat.Work.Models +namespace SKIT.FlurlHttpClient.Wechat.Work.Models { /// /// 表示 [POST] /cgi-bin/appchat/send 接口的请求。 @@ -63,63 +63,63 @@ /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置文本卡片消息信息。 /// [Newtonsoft.Json.JsonProperty("textcard")] [System.Text.Json.Serialization.JsonPropertyName("textcard")] - public Types.TextCardMessage? MessageContentForTextCard { get; set; } + public Types.TextCardMessage? MessageContentAsTextCard { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("news")] [System.Text.Json.Serialization.JsonPropertyName("news")] - public Types.NewsMessage? MessageContentForNews { get; set; } + public Types.NewsMessage? MessageContentAsNews { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("mpnews")] [System.Text.Json.Serialization.JsonPropertyName("mpnews")] - public Types.MpNewsMessage? MessageContentForMpNews { get; set; } + public Types.MpNewsMessage? MessageContentAsMpNews { get; set; } /// /// 获取或设置 Markdown 消息信息。 /// [Newtonsoft.Json.JsonProperty("markdown")] [System.Text.Json.Serialization.JsonPropertyName("markdown")] - public Types.MarkdownMessage? MessageContentForMarkdown { get; set; } + public Types.MarkdownMessage? MessageContentAsMarkdown { get; set; } /// /// 获取或设置是否是保密消息。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Message/CgibinExternalContactMessageSendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Message/CgibinExternalContactMessageSendRequest.cs index 353d8b7c..ec233591 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Message/CgibinExternalContactMessageSendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Message/CgibinExternalContactMessageSendRequest.cs @@ -122,63 +122,63 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置文本卡片消息信息。 /// [Newtonsoft.Json.JsonProperty("textcard")] [System.Text.Json.Serialization.JsonPropertyName("textcard")] - public Types.TextCardMessage? MessageContentForTextCard { get; set; } + public Types.TextCardMessage? MessageContentAsTextCard { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("news")] [System.Text.Json.Serialization.JsonPropertyName("news")] - public Types.NewsMessage? MessageContentForNews { get; set; } + public Types.NewsMessage? MessageContentAsNews { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("mpnews")] [System.Text.Json.Serialization.JsonPropertyName("mpnews")] - public Types.MpNewsMessage? MessageContentForMpNews { get; set; } + public Types.MpNewsMessage? MessageContentAsMpNews { get; set; } /// /// 获取或设置小程序消息信息。 /// [Newtonsoft.Json.JsonProperty("miniprogram")] [System.Text.Json.Serialization.JsonPropertyName("miniprogram")] - public Types.MiniProgramMessage? MessageContentForMiniProgram { get; set; } + public Types.MiniProgramMessage? MessageContentAsMiniProgram { get; set; } /// /// 获取或设置应用 ID。如果不指定将使用构造 时的 参数。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageOnEventRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageOnEventRequest.cs index f24eee64..2b46b1e5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageOnEventRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageOnEventRequest.cs @@ -42,13 +42,13 @@ /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置菜单消息信息。 /// [Newtonsoft.Json.JsonProperty("msgmenu")] [System.Text.Json.Serialization.JsonPropertyName("msgmenu")] - public Types.MenuMessage? MessageContentForMenu { get; set; } + public Types.MenuMessage? MessageContentAsMenu { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageRequest.cs index 1401139b..a803f579 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSendMessageRequest.cs @@ -311,69 +311,69 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置图文链接消息信息。 /// [Newtonsoft.Json.JsonProperty("link")] [System.Text.Json.Serialization.JsonPropertyName("link")] - public Types.LinkMessage? MessageContentForLink { get; set; } + public Types.LinkMessage? MessageContentAsLink { get; set; } /// /// 获取或设置小程序消息信息。 /// [Newtonsoft.Json.JsonProperty("miniprogram")] [System.Text.Json.Serialization.JsonPropertyName("miniprogram")] - public Types.MiniProgramMessage? MessageContentForMiniProgram { get; set; } + public Types.MiniProgramMessage? MessageContentAsMiniProgram { get; set; } /// /// 获取或设置菜单消息信息。 /// [Newtonsoft.Json.JsonProperty("msgmenu")] [System.Text.Json.Serialization.JsonPropertyName("msgmenu")] - public Types.MenuMessage? MessageContentForMenu { get; set; } + public Types.MenuMessage? MessageContentAsMenu { get; set; } /// /// 获取或设置地理位置消息信息。 /// [Newtonsoft.Json.JsonProperty("location")] [System.Text.Json.Serialization.JsonPropertyName("location")] - public Types.LocationMessage? MessageContentForLocation { get; set; } + public Types.LocationMessage? MessageContentAsLocation { get; set; } /// /// 获取或设置名片消息。 /// [Newtonsoft.Json.JsonProperty("business_card")] [System.Text.Json.Serialization.JsonPropertyName("business_card")] - public Types.BusinessCardMessage? MessageContentForBusinessCard { get; set; } + public Types.BusinessCardMessage? MessageContentAsBusinessCard { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs index a92aedac..35a8d7ff 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/CgibinKfSyncMessageResponse.cs @@ -198,6 +198,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? RecalledMessageId { get; set; } } + public class ChannelsMessage + { + /// + /// 获取或设置视频号消息类型。 + /// + [Newtonsoft.Json.JsonProperty("sub_type")] + [System.Text.Json.Serialization.JsonPropertyName("sub_type")] + public int SubType { get; set; } + + /// + /// 获取或设置视频号名称。 + /// + [Newtonsoft.Json.JsonProperty("nickname")] + [System.Text.Json.Serialization.JsonPropertyName("nickname")] + public string Nickname { get; set; } = default!; + + /// + /// 获取或设置视频号动态标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + } + public class ChannelsShopProductMessage { /// @@ -288,6 +312,57 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models [System.Text.Json.Serialization.JsonPropertyName("shop_nickname")] public string ShopNickname { get; set; } = default!; } + + public class MergedMessage + { + public static class Types + { + public class Item + { + /// + /// 获取或设置发送者名称。 + /// + [Newtonsoft.Json.JsonProperty("sender_name")] + [System.Text.Json.Serialization.JsonPropertyName("sender_name")] + public string SenderName { get; set; } = default!; + + /// + /// 获取或设置消息类型。 + /// + [Newtonsoft.Json.JsonProperty("msgtype")] + [System.Text.Json.Serialization.JsonPropertyName("msgtype")] + public string MessageType { get; set; } = default!; + + /// + /// 获取或设置消息内容(JSON 格式)。 + /// + [Newtonsoft.Json.JsonProperty("msg_content")] + [System.Text.Json.Serialization.JsonPropertyName("msg_content")] + public string MessageContentJson { get; set; } = default!; + + /// + /// 获取或设置发送时间戳。 + /// + [Newtonsoft.Json.JsonProperty("send_time")] + [System.Text.Json.Serialization.JsonPropertyName("send_time")] + public long SendTimestamp { get; set; } + } + } + + /// + /// 获取或设置聊天记录标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置聊天记录列表。 + /// + [Newtonsoft.Json.JsonProperty("item")] + [System.Text.Json.Serialization.JsonPropertyName("item")] + public Types.Item[] ItemList { get; set; } = default!; + } } /// @@ -337,91 +412,105 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置图文链接消息信息。 /// [Newtonsoft.Json.JsonProperty("link")] [System.Text.Json.Serialization.JsonPropertyName("link")] - public Types.LinkMessage? MessageContentForLink { get; set; } + public Types.LinkMessage? MessageContentAsLink { get; set; } /// /// 获取或设置小程序消息信息。 /// [Newtonsoft.Json.JsonProperty("miniprogram")] [System.Text.Json.Serialization.JsonPropertyName("miniprogram")] - public Types.MiniProgramMessage? MessageContentForMiniProgram { get; set; } + public Types.MiniProgramMessage? MessageContentAsMiniProgram { get; set; } /// /// 获取或设置菜单消息信息。 /// [Newtonsoft.Json.JsonProperty("msgmenu")] [System.Text.Json.Serialization.JsonPropertyName("msgmenu")] - public Types.MenuMessage? MessageContentForMenu { get; set; } + public Types.MenuMessage? MessageContentAsMenu { get; set; } /// /// 获取或设置地理位置消息信息。 /// [Newtonsoft.Json.JsonProperty("location")] [System.Text.Json.Serialization.JsonPropertyName("location")] - public Types.LocationMessage? MessageContentForLocation { get; set; } + public Types.LocationMessage? MessageContentAsLocation { get; set; } /// /// 获取或设置名片消息信息。 /// [Newtonsoft.Json.JsonProperty("business_card")] [System.Text.Json.Serialization.JsonPropertyName("business_card")] - public Types.BusinessCardMessage? MessageContentForBusinessCard { get; set; } + public Types.BusinessCardMessage? MessageContentAsBusinessCard { get; set; } /// /// 获取或设置事件消息信息。 /// [Newtonsoft.Json.JsonProperty("event")] [System.Text.Json.Serialization.JsonPropertyName("event")] - public Types.EventMessage? MessageContentForEvent { get; set; } + public Types.EventMessage? MessageContentAsEvent { get; set; } + + /// + /// 获取或设置视频号消息信息。 + /// + [Newtonsoft.Json.JsonProperty("channels")] + [System.Text.Json.Serialization.JsonPropertyName("channels")] + public Types.ChannelsMessage? MessageContentAsChannels { get; set; } /// /// 获取或设置视频号商品消息信息。 /// [Newtonsoft.Json.JsonProperty("channels_shop_product")] [System.Text.Json.Serialization.JsonPropertyName("channels_shop_product")] - public Types.ChannelsShopProductMessage? MessageContentForChannelsShopProduct { get; set; } + public Types.ChannelsShopProductMessage? MessageContentAsChannelsShopProduct { get; set; } /// /// 获取或设置视频号订单消息信息。 /// [Newtonsoft.Json.JsonProperty("channels_shop_order")] [System.Text.Json.Serialization.JsonPropertyName("channels_shop_order")] - public Types.ChannelsShopOrderMessage? MessageContentForChannelsShopOrder { get; set; } + public Types.ChannelsShopOrderMessage? MessageContentAsChannelsShopOrder { get; set; } + + /// + /// 获取或设置聊天记录消息信息。 + /// + [Newtonsoft.Json.JsonProperty("merged_msg")] + [System.Text.Json.Serialization.JsonPropertyName("merged_msg")] + public Types.MergedMessage? MessageContentAsMerged { get; set; } /// /// 获取或设置发送时间戳。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLinkedCorp/Message/CgibinLinkedCorpMessageSendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLinkedCorp/Message/CgibinLinkedCorpMessageSendRequest.cs index 6792e207..2815ac90 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLinkedCorp/Message/CgibinLinkedCorpMessageSendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLinkedCorp/Message/CgibinLinkedCorpMessageSendRequest.cs @@ -92,70 +92,70 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置文本卡片消息信息。 /// [Newtonsoft.Json.JsonProperty("textcard")] [System.Text.Json.Serialization.JsonPropertyName("textcard")] - public Types.TextCardMessage? MessageContentForTextCard { get; set; } + public Types.TextCardMessage? MessageContentAsTextCard { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("news")] [System.Text.Json.Serialization.JsonPropertyName("news")] - public Types.NewsMessage? MessageContentForNews { get; set; } + public Types.NewsMessage? MessageContentAsNews { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("mpnews")] [System.Text.Json.Serialization.JsonPropertyName("mpnews")] - public Types.MpNewsMessage? MessageContentForMpNews { get; set; } + public Types.MpNewsMessage? MessageContentAsMpNews { get; set; } /// /// 获取或设置 Markdown 消息信息。 /// [Newtonsoft.Json.JsonProperty("markdown")] [System.Text.Json.Serialization.JsonPropertyName("markdown")] - public Types.MarkdownMessage? MessageContentForMarkdown { get; set; } + public Types.MarkdownMessage? MessageContentAsMarkdown { get; set; } /// /// 获取或设置小程序通知消息信息。 /// [Newtonsoft.Json.JsonProperty("miniprogram_notice")] [System.Text.Json.Serialization.JsonPropertyName("miniprogram_notice")] - public Types.MiniProgramNoticeMessage? MessageContentForMiniProgramNotice { get; set; } + public Types.MiniProgramNoticeMessage? MessageContentAsMiniProgramNotice { get; set; } /// /// 获取或设置应用 ID。如果不指定将使用构造 时的 参数。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMessage/CgibinMessageSendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMessage/CgibinMessageSendRequest.cs index a42891e7..9d3c24a5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMessage/CgibinMessageSendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMessage/CgibinMessageSendRequest.cs @@ -1013,91 +1013,91 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置文本卡片消息信息。 /// [Newtonsoft.Json.JsonProperty("textcard")] [System.Text.Json.Serialization.JsonPropertyName("textcard")] - public Types.TextCardMessage? MessageContentForTextCard { get; set; } + public Types.TextCardMessage? MessageContentAsTextCard { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("news")] [System.Text.Json.Serialization.JsonPropertyName("news")] - public Types.NewsMessage? MessageContentForNews { get; set; } + public Types.NewsMessage? MessageContentAsNews { get; set; } /// /// 获取或设置图文消息信息。 /// [Newtonsoft.Json.JsonProperty("mpnews")] [System.Text.Json.Serialization.JsonPropertyName("mpnews")] - public Types.MpNewsMessage? MessageContentForMpNews { get; set; } + public Types.MpNewsMessage? MessageContentAsMpNews { get; set; } /// /// 获取或设置 Markdown 消息信息。 /// [Newtonsoft.Json.JsonProperty("markdown")] [System.Text.Json.Serialization.JsonPropertyName("markdown")] - public Types.MarkdownMessage? MessageContentForMarkdown { get; set; } + public Types.MarkdownMessage? MessageContentAsMarkdown { get; set; } /// /// 获取或设置小程序通知消息信息。 /// [Newtonsoft.Json.JsonProperty("miniprogram_notice")] [System.Text.Json.Serialization.JsonPropertyName("miniprogram_notice")] - public Types.MiniProgramNoticeMessage? MessageContentForMiniProgramNotice { get; set; } + public Types.MiniProgramNoticeMessage? MessageContentAsMiniProgramNotice { get; set; } /// /// 获取或设置任务卡片消息信息。 /// [Newtonsoft.Json.JsonProperty("interactive_taskcard")] [System.Text.Json.Serialization.JsonPropertyName("interactive_taskcard")] - public Types.TaskCardMessage? MessageContentForTaskCard { get; set; } + public Types.TaskCardMessage? MessageContentAsTaskCard { get; set; } /// /// 获取或设置模板卡片消息信息。 /// [Newtonsoft.Json.JsonProperty("template_card")] [System.Text.Json.Serialization.JsonPropertyName("template_card")] - public Types.TemplateCardMessage? MessageContentForTemplateCard { get; set; } + public Types.TemplateCardMessage? MessageContentAsTemplateCard { get; set; } /// /// 获取或设置模板信息信息。 /// [Newtonsoft.Json.JsonProperty("template_msg")] [System.Text.Json.Serialization.JsonPropertyName("template_msg")] - public Types.TemplateMessage? MessageContentForTemplate { get; set; } + public Types.TemplateMessage? MessageContentAsTemplate { get; set; } /// /// 获取或设置应用 ID。如果不指定将使用构造 时的 参数。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAApplyEventRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAApplyEventRequest.cs index b5e68627..48f15843 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAApplyEventRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAApplyEventRequest.cs @@ -1,4 +1,4 @@ -using System.Collections.Generic; +using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Work.Models { @@ -93,14 +93,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("members")] [System.Text.Json.Serialization.JsonPropertyName("members")] - public IList? ContactMembers { get; set; } + public IList? ContactMembers { get; set; } /// /// 获取或设置 Contact 控件部门值。 /// [Newtonsoft.Json.JsonProperty("departments")] [System.Text.Json.Serialization.JsonPropertyName("departments")] - public IList? ContactDepartments { get; set; } + public IList? ContactDepartments { get; set; } /// /// 获取或设置 File 控件值。 @@ -213,7 +213,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public IList OptionList { get; set; } = new List(); } - public class ContactControlValueForUser + public class ContactControlValueAsUser { /// /// 获取或设置成员账号。 @@ -230,7 +230,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? Name { get; set; } } - public class ContactControlValueForDepartment + public class ContactControlValueAsDepartment { /// /// 获取或设置部门 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAGetApprovalDetailResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAGetApprovalDetailResponse.cs index 3fd6b31a..153cb37c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAGetApprovalDetailResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Approval/CgibinOAGetApprovalDetailResponse.cs @@ -172,14 +172,14 @@ /// [Newtonsoft.Json.JsonProperty("members")] [System.Text.Json.Serialization.JsonPropertyName("members")] - public ContactControlValueForUser[]? ContactMembers { get; set; } + public ContactControlValueAsUser[]? ContactMembers { get; set; } /// /// 获取或设置 Contact 控件部门值。 /// [Newtonsoft.Json.JsonProperty("departments")] [System.Text.Json.Serialization.JsonPropertyName("departments")] - public ContactControlValueForDepartment[]? ContactDepartments { get; set; } + public ContactControlValueAsDepartment[]? ContactDepartments { get; set; } /// /// 获取或设置 File 控件值。 @@ -300,7 +300,7 @@ public Types.Option[] OptionList { get; set; } = default!; } - public class ContactControlValueForUser + public class ContactControlValueAsUser { /// /// 获取或设置成员账号。 @@ -317,7 +317,7 @@ public string? Name { get; set; } } - public class ContactControlValueForDepartment + public class ContactControlValueAsDepartment { /// /// 获取或设置部门 ID。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Journal/CgibinOAJournalGetRecordDetailResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Journal/CgibinOAJournalGetRecordDetailResponse.cs index 97746a8b..0922e05d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Journal/CgibinOAJournalGetRecordDetailResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinOA/Journal/CgibinOAJournalGetRecordDetailResponse.cs @@ -75,14 +75,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("members")] [System.Text.Json.Serialization.JsonPropertyName("members")] - public ContactControlValueForUser[]? ContactMembers { get; set; } + public ContactControlValueAsUser[]? ContactMembers { get; set; } /// /// 获取或设置 Contact 控件部门值。 /// [Newtonsoft.Json.JsonProperty("departments")] [System.Text.Json.Serialization.JsonPropertyName("departments")] - public ContactControlValueForDepartment[]? ContactDepartments { get; set; } + public ContactControlValueAsDepartment[]? ContactDepartments { get; set; } /// /// 获取或设置 File 控件值。 @@ -197,11 +197,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public new Types.Option[] OptionList { get; set; } = default!; } - public class ContactControlValueForUser : CgibinOAGetApprovalDetailResponse.Types.Approval.Types.ApplyData.Types.ApplyContent.Types.ContactControlValueForUser + public class ContactControlValueAsUser : CgibinOAGetApprovalDetailResponse.Types.Approval.Types.ApplyData.Types.ApplyContent.Types.ContactControlValueAsUser { } - public class ContactControlValueForDepartment : CgibinOAGetApprovalDetailResponse.Types.Approval.Types.ApplyData.Types.ApplyContent.Types.ContactControlValueForDepartment + public class ContactControlValueAsDepartment : CgibinOAGetApprovalDetailResponse.Types.Approval.Types.ApplyData.Types.ApplyContent.Types.ContactControlValueAsDepartment { } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/SDK/Finance/Models/DecryptChatRecordResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/SDK/Finance/Models/DecryptChatRecordResponse.cs index 1a86034a..f59fd4bc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/SDK/Finance/Models/DecryptChatRecordResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/SDK/Finance/Models/DecryptChatRecordResponse.cs @@ -164,175 +164,175 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.SDK.Finance.Models /// [Newtonsoft.Json.JsonProperty("text")] [System.Text.Json.Serialization.JsonPropertyName("text")] - public Types.TextMessage? MessageContentForText { get; set; } + public Types.TextMessage? MessageContentAsText { get; set; } /// /// 获取或设置图片消息信息。 /// [Newtonsoft.Json.JsonProperty("image")] [System.Text.Json.Serialization.JsonPropertyName("image")] - public Types.ImageMessage? MessageContentForImage { get; set; } + public Types.ImageMessage? MessageContentAsImage { get; set; } /// /// 获取或设置撤回消息信息。 /// [Newtonsoft.Json.JsonProperty("revoke")] [System.Text.Json.Serialization.JsonPropertyName("revoke")] - public Types.RevokeMessage? MessageContentForRevoke { get; set; } + public Types.RevokeMessage? MessageContentAsRevoke { get; set; } /// /// 获取或设置同意/不同意消息信息。 /// [Newtonsoft.Json.JsonProperty("agree")] [System.Text.Json.Serialization.JsonPropertyName("agree")] - public Types.AgreeMessage? MessageContentForAgree { get; set; } + public Types.AgreeMessage? MessageContentAsAgree { get; set; } /// /// 获取或设置语音消息信息。 /// [Newtonsoft.Json.JsonProperty("voice")] [System.Text.Json.Serialization.JsonPropertyName("voice")] - public Types.VoiceMessage? MessageContentForVoice { get; set; } + public Types.VoiceMessage? MessageContentAsVoice { get; set; } /// /// 获取或设置视频消息信息。 /// [Newtonsoft.Json.JsonProperty("video")] [System.Text.Json.Serialization.JsonPropertyName("video")] - public Types.VideoMessage? MessageContentForVideo { get; set; } + public Types.VideoMessage? MessageContentAsVideo { get; set; } /// /// 获取或设置名片消息信息。 /// [Newtonsoft.Json.JsonProperty("card")] [System.Text.Json.Serialization.JsonPropertyName("card")] - public Types.BusinessCardMessage? MessageContentForBusinessCard { get; set; } + public Types.BusinessCardMessage? MessageContentAsBusinessCard { get; set; } /// /// 获取或设置位置消息信息。 /// [Newtonsoft.Json.JsonProperty("location")] [System.Text.Json.Serialization.JsonPropertyName("location")] - public Types.LocationMessage? MessageContentForLocation { get; set; } + public Types.LocationMessage? MessageContentAsLocation { get; set; } /// /// 获取或设置表情消息信息。 /// [Newtonsoft.Json.JsonProperty("emotion")] [System.Text.Json.Serialization.JsonPropertyName("emotion")] - public Types.EmotionMessage? MessageContentForEmotion { get; set; } + public Types.EmotionMessage? MessageContentAsEmotion { get; set; } /// /// 获取或设置文件消息信息。 /// [Newtonsoft.Json.JsonProperty("file")] [System.Text.Json.Serialization.JsonPropertyName("file")] - public Types.FileMessage? MessageContentForFile { get; set; } + public Types.FileMessage? MessageContentAsFile { get; set; } /// /// 获取或设置图文链接消息信息。 /// [Newtonsoft.Json.JsonProperty("link")] [System.Text.Json.Serialization.JsonPropertyName("link")] - public Types.LinkMessage? MessageContentForLink { get; set; } + public Types.LinkMessage? MessageContentAsLink { get; set; } /// /// 获取或设置小程序消息信息。 /// [Newtonsoft.Json.JsonProperty("weapp")] [System.Text.Json.Serialization.JsonPropertyName("weapp")] - public Types.MiniProgramMessage? MessageContentForMiniProgram { get; set; } + public Types.MiniProgramMessage? MessageContentAsMiniProgram { get; set; } /// /// 获取或设置会话记录消息信息。 /// [Newtonsoft.Json.JsonProperty("chatrecord")] [System.Text.Json.Serialization.JsonPropertyName("chatrecord")] - public Types.ChatRecordMessage? MessageContentForChatRecord { get; set; } + public Types.ChatRecordMessage? MessageContentAsChatRecord { get; set; } /// /// 获取或设置待办消息信息。 /// [Newtonsoft.Json.JsonProperty("todo")] [System.Text.Json.Serialization.JsonPropertyName("todo")] - public Types.TodoMessage? MessageContentForTodo { get; set; } + public Types.TodoMessage? MessageContentAsTodo { get; set; } /// /// 获取或设置投票消息信息。 /// [Newtonsoft.Json.JsonProperty("vote")] [System.Text.Json.Serialization.JsonPropertyName("vote")] - public Types.VoteMessage? MessageContentForVote { get; set; } + public Types.VoteMessage? MessageContentAsVote { get; set; } /// /// 获取或设置填表消息信息。 /// [Newtonsoft.Json.JsonProperty("collect")] [System.Text.Json.Serialization.JsonPropertyName("collect")] - public Types.CollectMessage? MessageContentForCollect { get; set; } + public Types.CollectMessage? MessageContentAsCollect { get; set; } /// /// 获取或设置红包消息信息。 /// [Newtonsoft.Json.JsonProperty("redpacket")] [System.Text.Json.Serialization.JsonPropertyName("redpacket")] - public Types.RedPacketMessage? MessageContentForRedPacket { get; set; } + public Types.RedPacketMessage? MessageContentAsRedPacket { get; set; } /// /// 获取或设置会议消息信息。 /// [Newtonsoft.Json.JsonProperty("meeting")] [System.Text.Json.Serialization.JsonPropertyName("meeting")] - public Types.MeetingMessage? MessageContentForMeeting { get; set; } + public Types.MeetingMessage? MessageContentAsMeeting { get; set; } /// /// 获取或设置在线文档消息信息。 /// [Newtonsoft.Json.JsonProperty("doc")] [System.Text.Json.Serialization.JsonPropertyName("doc")] - public Types.DocumentMessage? MessageContentForDocument { get; set; } + public Types.DocumentMessage? MessageContentAsDocument { get; set; } /// /// 获取或设置 Markdown、图文消息或音视频通话信息。 /// [Newtonsoft.Json.JsonProperty("info")] [System.Text.Json.Serialization.JsonPropertyName("info")] - public Types.InfoMessage? MessageContentForInfo { get; set; } + public Types.InfoMessage? MessageContentAsInfo { get; set; } /// /// 获取或设置日程消息信息。 /// [Newtonsoft.Json.JsonProperty("calendar")] [System.Text.Json.Serialization.JsonPropertyName("calendar")] - public Types.CalendarMessage? MessageContentForCalendar { get; set; } + public Types.CalendarMessage? MessageContentAsCalendar { get; set; } /// /// 获取或设置混合消息信息。 /// [Newtonsoft.Json.JsonProperty("mixed")] [System.Text.Json.Serialization.JsonPropertyName("mixed")] - public Types.MixedMessage? MessageContentForMixed { get; set; } + public Types.MixedMessage? MessageContentAsMixed { get; set; } /// /// 获取或设置会议音频存档消息信息。 /// [Newtonsoft.Json.JsonProperty("meeting_voice_call")] [System.Text.Json.Serialization.JsonPropertyName("meeting_voice_call")] - public Types.MeetingVoiceCallMessage? MessageContentForMeetingVoiceCall { get; set; } + public Types.MeetingVoiceCallMessage? MessageContentAsMeetingVoiceCall { get; set; } /// /// 获取或设置 VoIP 音频存档消息信息。 /// [Newtonsoft.Json.JsonProperty("voip_doc_share")] [System.Text.Json.Serialization.JsonPropertyName("voip_doc_share")] - public Types.VoIPDocumentShareMessage? MessageContentForVoIPDocumentShare { get; set; } + public Types.VoIPDocumentShareMessage? MessageContentAsVoIPDocumentShare { get; set; } /// /// 获取或设置视频号消息信息。 /// [Newtonsoft.Json.JsonProperty("sphfeed")] [System.Text.Json.Serialization.JsonPropertyName("sphfeed")] - public Types.ChannelsFeedMessage? MessageContentForChannelsFeed { get; set; } + public Types.ChannelsFeedMessage? MessageContentAsChannelsFeed { get; set; } /// /// 获取或设置音频 ID。 diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfSyncMessageResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfSyncMessageResponse.json index dda784c5..d544e70b 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfSyncMessageResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/CgibinKfSyncMessageResponse.json @@ -53,6 +53,28 @@ "image_url": "IMAGE_URL", "shop_nickname": "SHOP_NICKNAME" } + }, + { + "msgtype": "channels", + "channels": { + "sub_type": 1, + "nickname": "视频号名称", + "title": "动态标题" + } + }, + { + "msgtype": "merged_msg", + "merged_msg": { + "title": "群聊的聊天记录", + "item": [ + { + "send_time": 1665649618, + "msgtype": "text", + "sender_name": "发送者", + "msg_content": "{\"msgtype\":\"text\",\"text\":{\"content\":\"消息内容\"}}" + } + ] + } } ] } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/TestCase_FinanceSdkTests.cs b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/TestCase_FinanceSdkTests.cs index fa45c8e0..efa51142 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/TestCase_FinanceSdkTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/TestCase_FinanceSdkTests.cs @@ -49,12 +49,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests { var reqGetMediaFile = new GetMediaFileRequest() { - FileId = resDecryptChatRecord.MessageContentForImage!.FileId + FileId = resDecryptChatRecord.MessageContentAsImage!.FileId }; var resGetMediaFile = await client.ExecuteGetMediaFileAsync(reqGetMediaFile); Assert.True(resGetMediaFile.IsSuccessful()); - Assert.Equal(resDecryptChatRecord.MessageContentForImage!.FileSize, resGetMediaFile.FileBytes.Length); + Assert.Equal(resDecryptChatRecord.MessageContentAsImage!.FileSize, resGetMediaFile.FileBytes.Length); } break; @@ -62,12 +62,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests { var reqGetMediaFile = new GetMediaFileRequest() { - FileId = resDecryptChatRecord.MessageContentForVoice!.FileId + FileId = resDecryptChatRecord.MessageContentAsVoice!.FileId }; var resGetMediaFile = await client.ExecuteGetMediaFileAsync(reqGetMediaFile); Assert.True(resGetMediaFile.IsSuccessful()); - Assert.Equal(resDecryptChatRecord.MessageContentForVoice!.FileSize, resGetMediaFile.FileBytes.Length); + Assert.Equal(resDecryptChatRecord.MessageContentAsVoice!.FileSize, resGetMediaFile.FileBytes.Length); } break; @@ -75,12 +75,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests { var reqGetMediaFile = new GetMediaFileRequest() { - FileId = resDecryptChatRecord.MessageContentForVideo!.FileId + FileId = resDecryptChatRecord.MessageContentAsVideo!.FileId }; var resGetMediaFile = await client.ExecuteGetMediaFileAsync(reqGetMediaFile); Assert.True(resGetMediaFile.IsSuccessful()); - Assert.Equal(resDecryptChatRecord.MessageContentForVideo!.FileSize, resGetMediaFile.FileBytes.Length); + Assert.Equal(resDecryptChatRecord.MessageContentAsVideo!.FileSize, resGetMediaFile.FileBytes.Length); } break; @@ -88,12 +88,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests { var reqGetMediaFile = new GetMediaFileRequest() { - FileId = resDecryptChatRecord.MessageContentForFile!.FileId + FileId = resDecryptChatRecord.MessageContentAsFile!.FileId }; var resGetMediaFile = await client.ExecuteGetMediaFileAsync(reqGetMediaFile); Assert.True(resGetMediaFile.IsSuccessful()); - Assert.Equal(resDecryptChatRecord.MessageContentForFile!.FileSize, resGetMediaFile.FileBytes.Length); + Assert.Equal(resDecryptChatRecord.MessageContentAsFile!.FileSize, resGetMediaFile.FileBytes.Length); } break; } @@ -174,7 +174,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("text", model.MessageType); - Assert.Equal("test", model.MessageContentForText!.Content); + Assert.Equal("test", model.MessageContentAsText!.Content); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -203,9 +203,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("image", model.MessageType); - Assert.Equal("FILEID", model.MessageContentForImage!.FileId); - Assert.Equal("50de8e5ae8ffe4f1df7a93841f71993a", model.MessageContentForImage!.FileMD5); - Assert.Equal(70961, model.MessageContentForImage!.FileSize); + Assert.Equal("FILEID", model.MessageContentAsImage!.FileId); + Assert.Equal("50de8e5ae8ffe4f1df7a93841f71993a", model.MessageContentAsImage!.FileMD5); + Assert.Equal(70961, model.MessageContentAsImage!.FileSize); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -232,7 +232,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("revoke", model.MessageType); - Assert.Equal("14822339130656386894_1603875600", model.MessageContentForRevoke!.PreviousMessageId); + Assert.Equal("14822339130656386894_1603875600", model.MessageContentAsRevoke!.PreviousMessageId); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -260,8 +260,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("agree", model.MessageType); - Assert.Equal("wmGAgeDQAAvQeaTqWwkMTxGMkvI7OOuQ", model.MessageContentForAgree!.UserId); - Assert.Equal(1603875826656, model.MessageContentForAgree!.AgreeTimeMilliseconds); + Assert.Equal("wmGAgeDQAAvQeaTqWwkMTxGMkvI7OOuQ", model.MessageContentAsAgree!.UserId); + Assert.Equal(1603875826656, model.MessageContentAsAgree!.AgreeTimeMilliseconds); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -291,10 +291,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("voice", model.MessageType); - Assert.Equal("FILEID", model.MessageContentForVoice!.FileId); - Assert.Equal("9db09c7fa627c9e53f17736c786a74d5", model.MessageContentForVoice!.FileMD5); - Assert.Equal(6810, model.MessageContentForVoice!.FileSize); - Assert.Equal(10, model.MessageContentForVoice!.Duration); + Assert.Equal("FILEID", model.MessageContentAsVoice!.FileId); + Assert.Equal("9db09c7fa627c9e53f17736c786a74d5", model.MessageContentAsVoice!.FileMD5); + Assert.Equal(6810, model.MessageContentAsVoice!.FileSize); + Assert.Equal(10, model.MessageContentAsVoice!.Duration); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -324,10 +324,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("video", model.MessageType); - Assert.Equal("FILEID", model.MessageContentForVideo!.FileId); - Assert.Equal("d06fc80c01d6fbffcca3b229ba41eac6", model.MessageContentForVideo!.FileMD5); - Assert.Equal(15169724, model.MessageContentForVideo!.FileSize); - Assert.Equal(108, model.MessageContentForVideo!.Duration); + Assert.Equal("FILEID", model.MessageContentAsVideo!.FileId); + Assert.Equal("d06fc80c01d6fbffcca3b229ba41eac6", model.MessageContentAsVideo!.FileMD5); + Assert.Equal(15169724, model.MessageContentAsVideo!.FileSize); + Assert.Equal(108, model.MessageContentAsVideo!.Duration); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -355,8 +355,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("card", model.MessageType); - Assert.Equal("微信联系人", model.MessageContentForBusinessCard!.CorpName); - Assert.Equal("wmGAgeDQAAGjFmfnP7A3j2JxQDdLNhSw", model.MessageContentForBusinessCard!.UserId); + Assert.Equal("微信联系人", model.MessageContentAsBusinessCard!.CorpName); + Assert.Equal("wmGAgeDQAAGjFmfnP7A3j2JxQDdLNhSw", model.MessageContentAsBusinessCard!.UserId); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -387,11 +387,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("location", model.MessageType); - Assert.Equal(116.586285899, model.MessageContentForLocation!.Longitude); - Assert.Equal(39.911125799, model.MessageContentForLocation!.Latitude); - Assert.Equal("北京市xxx区xxx路xxx大厦x座", model.MessageContentForLocation.Address); - Assert.Equal("xxx管理中心", model.MessageContentForLocation.Title); - Assert.Equal(15, model.MessageContentForLocation.Zoom); + Assert.Equal(116.586285899, model.MessageContentAsLocation!.Longitude); + Assert.Equal(39.911125799, model.MessageContentAsLocation!.Latitude); + Assert.Equal("北京市xxx区xxx路xxx大厦x座", model.MessageContentAsLocation.Address); + Assert.Equal("xxx管理中心", model.MessageContentAsLocation.Title); + Assert.Equal(15, model.MessageContentAsLocation.Zoom); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -423,12 +423,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("emotion", model.MessageType); - Assert.Equal(1, model.MessageContentForEmotion!.Type); - Assert.Equal(290, model.MessageContentForEmotion!.Width); - Assert.Equal(290, model.MessageContentForEmotion!.Height); - Assert.Equal("FILEID", model.MessageContentForEmotion.FileId); - Assert.Equal("94c2b0bba52cc456cb8221b248096612", model.MessageContentForEmotion.FileMD5); - Assert.Equal(962604, model.MessageContentForEmotion.FileSize); + Assert.Equal(1, model.MessageContentAsEmotion!.Type); + Assert.Equal(290, model.MessageContentAsEmotion!.Width); + Assert.Equal(290, model.MessageContentAsEmotion!.Height); + Assert.Equal("FILEID", model.MessageContentAsEmotion.FileId); + Assert.Equal("94c2b0bba52cc456cb8221b248096612", model.MessageContentAsEmotion.FileMD5); + Assert.Equal(962604, model.MessageContentAsEmotion.FileSize); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -459,11 +459,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("file", model.MessageType); - Assert.Equal("资料.docx", model.MessageContentForFile!.FileName); - Assert.Equal("docx", model.MessageContentForFile!.FileExtension); - Assert.Equal("FILEID", model.MessageContentForFile.FileId); - Assert.Equal("18e93fc2ea884df23b3d2d3b8667b9f0", model.MessageContentForFile.FileMD5); - Assert.Equal(18181, model.MessageContentForFile.FileSize); + Assert.Equal("资料.docx", model.MessageContentAsFile!.FileName); + Assert.Equal("docx", model.MessageContentAsFile!.FileExtension); + Assert.Equal("FILEID", model.MessageContentAsFile.FileId); + Assert.Equal("18e93fc2ea884df23b3d2d3b8667b9f0", model.MessageContentAsFile.FileMD5); + Assert.Equal(18181, model.MessageContentAsFile.FileSize); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -493,10 +493,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("link", model.MessageType); - Assert.Equal("邀请你加入群聊", model.MessageContentForLink!.Title); - Assert.Equal("技术支持群,进入可查看详情", model.MessageContentForLink!.Description); - Assert.Equal("https://work.weixin.qq.com/wework_admin/external_room/join/exceed?vcode=xxx", model.MessageContentForLink.LinkUrl); - Assert.Equal("https://wework.qpic.cn/wwpic/xxx/0", model.MessageContentForLink.ImageUrl); + Assert.Equal("邀请你加入群聊", model.MessageContentAsLink!.Title); + Assert.Equal("技术支持群,进入可查看详情", model.MessageContentAsLink!.Description); + Assert.Equal("https://work.weixin.qq.com/wework_admin/external_room/join/exceed?vcode=xxx", model.MessageContentAsLink.LinkUrl); + Assert.Equal("https://wework.qpic.cn/wwpic/xxx/0", model.MessageContentAsLink.ImageUrl); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -526,10 +526,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("weapp", model.MessageType); - Assert.Equal("开始聊天前请仔细阅读服务须知事项", model.MessageContentForMiniProgram!.Title); - Assert.Equal("客户需同意存档聊天记录", model.MessageContentForMiniProgram!.Description); - Assert.Equal("xxx@app", model.MessageContentForMiniProgram.UserName); - Assert.Equal("服务须知", model.MessageContentForMiniProgram.DisplayName); + Assert.Equal("开始聊天前请仔细阅读服务须知事项", model.MessageContentAsMiniProgram!.Title); + Assert.Equal("客户需同意存档聊天记录", model.MessageContentAsMiniProgram!.Description); + Assert.Equal("xxx@app", model.MessageContentAsMiniProgram.UserName); + Assert.Equal("服务须知", model.MessageContentAsMiniProgram.DisplayName); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -567,10 +567,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("chatrecord", model.MessageType); - Assert.Equal("群聊", model.MessageContentForChatRecord!.Title); - Assert.Equal("ChatRecordText", model.MessageContentForChatRecord!.RecordList[0]!.MessageType); - Assert.Equal("{\"content\":\"test\"}", model.MessageContentForChatRecord!.RecordList[0]!.MessageContentJson); - Assert.Equal(1603875610, model.MessageContentForChatRecord!.RecordList[0]!.MessageTimestamp); + Assert.Equal("群聊", model.MessageContentAsChatRecord!.Title); + Assert.Equal("ChatRecordText", model.MessageContentAsChatRecord!.RecordList[0]!.MessageType); + Assert.Equal("{\"content\":\"test\"}", model.MessageContentAsChatRecord!.RecordList[0]!.MessageContentJson); + Assert.Equal(1603875610, model.MessageContentAsChatRecord!.RecordList[0]!.MessageTimestamp); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -598,8 +598,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("todo", model.MessageType); - Assert.Equal("来源文本", model.MessageContentForTodo!.Title); - Assert.Equal("具体内容", model.MessageContentForTodo!.Content); + Assert.Equal("来源文本", model.MessageContentAsTodo!.Title); + Assert.Equal("具体内容", model.MessageContentAsTodo!.Content); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -629,10 +629,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("vote", model.MessageType); - Assert.Equal(101, model.MessageContentForVote!.Type); - Assert.Equal("1603875610", model.MessageContentForVote!.VoteId); - Assert.Equal("投票主题", model.MessageContentForVote!.Title); - Assert.Equal("投票选项", model.MessageContentForVote!.Options[0]!); + Assert.Equal(101, model.MessageContentAsVote!.Type); + Assert.Equal("1603875610", model.MessageContentAsVote!.VoteId); + Assert.Equal("投票主题", model.MessageContentAsVote!.Title); + Assert.Equal("投票选项", model.MessageContentAsVote!.Options[0]!); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -679,13 +679,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("collect", model.MessageType); - Assert.Equal("这是一个群", model.MessageContentForCollect!.RoomName); - Assert.Equal("nick", model.MessageContentForCollect!.CreatorName); - Assert.Equal("2019-12-11 11:21:22", model.MessageContentForCollect!.CreateTimeString); - Assert.Equal("这是填表title", model.MessageContentForCollect!.Title); - Assert.Equal(1, model.MessageContentForCollect!.DetailList[0]!.ID); - Assert.Equal("Text", model.MessageContentForCollect!.DetailList[0]!.Type); - Assert.Equal("表项1,文本", model.MessageContentForCollect!.DetailList[0]!.Question); + Assert.Equal("这是一个群", model.MessageContentAsCollect!.RoomName); + Assert.Equal("nick", model.MessageContentAsCollect!.CreatorName); + Assert.Equal("2019-12-11 11:21:22", model.MessageContentAsCollect!.CreateTimeString); + Assert.Equal("这是填表title", model.MessageContentAsCollect!.Title); + Assert.Equal(1, model.MessageContentAsCollect!.DetailList[0]!.ID); + Assert.Equal("Text", model.MessageContentAsCollect!.DetailList[0]!.Type); + Assert.Equal("表项1,文本", model.MessageContentAsCollect!.DetailList[0]!.Question); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -715,10 +715,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("redpacket", model.MessageType); - Assert.Equal(1, model.MessageContentForRedPacket!.Type); - Assert.Equal("恭喜发财,大吉大利", model.MessageContentForRedPacket!.Wishing); - Assert.Equal(10, model.MessageContentForRedPacket!.TotalCount); - Assert.Equal(3000, model.MessageContentForRedPacket!.TotalAmount); + Assert.Equal(1, model.MessageContentAsRedPacket!.Type); + Assert.Equal("恭喜发财,大吉大利", model.MessageContentAsRedPacket!.Wishing); + Assert.Equal(10, model.MessageContentAsRedPacket!.TotalCount); + Assert.Equal(3000, model.MessageContentAsRedPacket!.TotalAmount); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -752,14 +752,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("meeting", model.MessageType); - Assert.Equal(102, model.MessageContentForMeeting!.Type); - Assert.Equal(1210342560, model.MessageContentForMeeting!.MeetingId); - Assert.Equal("夕会", model.MessageContentForMeeting!.Topic); - Assert.Equal(1603877400, model.MessageContentForMeeting!.StartTimestamp); - Assert.Equal(1603881000, model.MessageContentForMeeting!.EndTimestamp); - Assert.Equal("地址", model.MessageContentForMeeting!.Address); - Assert.Equal("备注", model.MessageContentForMeeting!.Remark); - Assert.Equal(1, model.MessageContentForMeeting!.Status); + Assert.Equal(102, model.MessageContentAsMeeting!.Type); + Assert.Equal(1210342560, model.MessageContentAsMeeting!.MeetingId); + Assert.Equal("夕会", model.MessageContentAsMeeting!.Topic); + Assert.Equal(1603877400, model.MessageContentAsMeeting!.StartTimestamp); + Assert.Equal(1603881000, model.MessageContentAsMeeting!.EndTimestamp); + Assert.Equal("地址", model.MessageContentAsMeeting!.Address); + Assert.Equal("备注", model.MessageContentAsMeeting!.Remark); + Assert.Equal(1, model.MessageContentAsMeeting!.Status); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -809,9 +809,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("docmsg", model.MessageType); - Assert.Equal("测试&演示客户", model.MessageContentForDocument!.Title); - Assert.Equal("test", model.MessageContentForDocument!.CreatorUserId); - Assert.Equal("https://doc.weixin.qq.com/txdoc/excel?docid=xxx", model.MessageContentForDocument!.LinkUrl); + Assert.Equal("测试&演示客户", model.MessageContentAsDocument!.Title); + Assert.Equal("test", model.MessageContentAsDocument!.CreatorUserId); + Assert.Equal("https://doc.weixin.qq.com/txdoc/excel?docid=xxx", model.MessageContentAsDocument!.LinkUrl); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -838,7 +838,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("markdown", model.MessageType); - Assert.Equal("请前往系统查看,谢谢。", model.MessageContentForInfo!.MarkdownContent); + Assert.Equal("请前往系统查看,谢谢。", model.MessageContentAsInfo!.MarkdownContent); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -871,13 +871,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("calendar", model.MessageType); - Assert.Equal("xxx业绩复盘会", model.MessageContentForCalendar!.Title); - Assert.Equal("test", model.MessageContentForCalendar!.CreatorName); - Assert.Equal("aaa", model.MessageContentForCalendar!.AttendeeNameList[0]); - Assert.Equal(1603882800, model.MessageContentForCalendar!.StartTimestamp); - Assert.Equal(1603886400, model.MessageContentForCalendar!.EndTimestamp); - Assert.Equal("地点", model.MessageContentForCalendar!.Place); - Assert.Equal("备注", model.MessageContentForCalendar!.Remark); + Assert.Equal("xxx业绩复盘会", model.MessageContentAsCalendar!.Title); + Assert.Equal("test", model.MessageContentAsCalendar!.CreatorName); + Assert.Equal("aaa", model.MessageContentAsCalendar!.AttendeeNameList[0]); + Assert.Equal(1603882800, model.MessageContentAsCalendar!.StartTimestamp); + Assert.Equal(1603886400, model.MessageContentAsCalendar!.EndTimestamp); + Assert.Equal("地点", model.MessageContentAsCalendar!.Place); + Assert.Equal("备注", model.MessageContentAsCalendar!.Remark); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -910,8 +910,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("mixed", model.MessageType); - Assert.Equal("text", model.MessageContentForMixed!.MessageList[0]!.Type); - Assert.Equal("{\"content\":\"你好[微笑]\\n\"}", model.MessageContentForMixed!.MessageList[0]!.ContentJson); + Assert.Equal("text", model.MessageContentAsMixed!.MessageList[0]!.Type); + Assert.Equal("{\"content\":\"你好[微笑]\\n\"}", model.MessageContentAsMixed!.MessageList[0]!.ContentJson); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -951,15 +951,15 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("meeting_voice_call", model.MessageType); Assert.Equal("grb8a4c48a3c094a70982c518d55e40557", model.VoiceId); - Assert.Equal(1594197635, model.MessageContentForMeetingVoiceCall!.EndTimestamp); - Assert.Equal("FILEID", model.MessageContentForMeetingVoiceCall!.FileId); - Assert.Equal("65eb1cdd3e7a3c1740ecd74220b6c627.docx", model.MessageContentForMeetingVoiceCall!.ShareFileDataList![0]!.FileName); - Assert.Equal("wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA", model.MessageContentForMeetingVoiceCall!.ShareFileDataList![0]!.OperatorUserId); - Assert.Equal(1594197599, model.MessageContentForMeetingVoiceCall!.ShareFileDataList![0]!.StartTimestamp); - Assert.Equal(1594197609, model.MessageContentForMeetingVoiceCall!.ShareFileDataList![0]!.EndTimestamp); - Assert.Equal("wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA", model.MessageContentForMeetingVoiceCall!.ShareScreenDataList![0]!.SharerUserId); - Assert.Equal(1594197624, model.MessageContentForMeetingVoiceCall!.ShareScreenDataList![0]!.StartTimestamp); - Assert.Equal(1594197624, model.MessageContentForMeetingVoiceCall!.ShareScreenDataList![0]!.EndTimestamp); + Assert.Equal(1594197635, model.MessageContentAsMeetingVoiceCall!.EndTimestamp); + Assert.Equal("FILEID", model.MessageContentAsMeetingVoiceCall!.FileId); + Assert.Equal("65eb1cdd3e7a3c1740ecd74220b6c627.docx", model.MessageContentAsMeetingVoiceCall!.ShareFileDataList![0]!.FileName); + Assert.Equal("wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA", model.MessageContentAsMeetingVoiceCall!.ShareFileDataList![0]!.OperatorUserId); + Assert.Equal(1594197599, model.MessageContentAsMeetingVoiceCall!.ShareFileDataList![0]!.StartTimestamp); + Assert.Equal(1594197609, model.MessageContentAsMeetingVoiceCall!.ShareFileDataList![0]!.EndTimestamp); + Assert.Equal("wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA", model.MessageContentAsMeetingVoiceCall!.ShareScreenDataList![0]!.SharerUserId); + Assert.Equal(1594197624, model.MessageContentAsMeetingVoiceCall!.ShareScreenDataList![0]!.StartTimestamp); + Assert.Equal(1594197624, model.MessageContentAsMeetingVoiceCall!.ShareScreenDataList![0]!.EndTimestamp); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -990,10 +990,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("voip_doc_share", model.MessageType); Assert.Equal("gr2751c98b19300571f8afb3b74514bd32", model.VoIPId); - Assert.Equal("欢迎使用微盘.pdf", model.MessageContentForVoIPDocumentShare!.FileName); - Assert.Equal("FILEID", model.MessageContentForVoIPDocumentShare!.FileId); - Assert.Equal("ff893900f24e55e216e617a40e5c4648", model.MessageContentForVoIPDocumentShare!.FileMD5); - Assert.Equal(4400654, model.MessageContentForVoIPDocumentShare!.FileSize); + Assert.Equal("欢迎使用微盘.pdf", model.MessageContentAsVoIPDocumentShare!.FileName); + Assert.Equal("FILEID", model.MessageContentAsVoIPDocumentShare!.FileId); + Assert.Equal("ff893900f24e55e216e617a40e5c4648", model.MessageContentAsVoIPDocumentShare!.FileMD5); + Assert.Equal(4400654, model.MessageContentAsVoIPDocumentShare!.FileSize); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -1023,10 +1023,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("external_redpacket", model.MessageType); - Assert.Equal(1, model.MessageContentForRedPacket!.Type); - Assert.Equal("恭喜发财,大吉大利", model.MessageContentForRedPacket!.Wishing); - Assert.Equal(2, model.MessageContentForRedPacket!.TotalCount); - Assert.Equal(20, model.MessageContentForRedPacket!.TotalAmount); + Assert.Equal(1, model.MessageContentAsRedPacket!.Type); + Assert.Equal("恭喜发财,大吉大利", model.MessageContentAsRedPacket!.Wishing); + Assert.Equal(2, model.MessageContentAsRedPacket!.TotalCount); + Assert.Equal(20, model.MessageContentAsRedPacket!.TotalAmount); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -1055,9 +1055,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("sphfeed", model.MessageType); - Assert.Equal(4, model.MessageContentForChannelsFeed!.FeedType); - Assert.Equal("云游天地旅行家", model.MessageContentForChannelsFeed!.ChannelsNickName); - Assert.Equal("瑞士丨盖尔默缆车,名副其实的过山车~\n\n#旅行#风景#热门", model.MessageContentForChannelsFeed!.Description); + Assert.Equal(4, model.MessageContentAsChannelsFeed!.FeedType); + Assert.Equal("云游天地旅行家", model.MessageContentAsChannelsFeed!.ChannelsNickName); + Assert.Equal("瑞士丨盖尔默缆车,名副其实的过山车~\n\n#旅行#风景#热门", model.MessageContentAsChannelsFeed!.Description); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -1085,8 +1085,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("voiptext", model.MessageType); - Assert.Equal(9, model.MessageContentForInfo!.VoIPCallDuration); - Assert.Equal(2, model.MessageContentForInfo!.VoIPInviteType); + Assert.Equal(9, model.MessageContentAsInfo!.VoIPCallDuration); + Assert.Equal(2, model.MessageContentAsInfo!.VoIPInviteType); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer); @@ -1113,7 +1113,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.UnitTests var model = serializer.Deserialize(json); Assert.Equal("qydiskfile", model.MessageType); - Assert.Equal(".sys.log", model.MessageContentForInfo!.WedriveFileName); + Assert.Equal(".sys.log", model.MessageContentAsInfo!.WedriveFileName); } AssertModelWithJsonSerializer(newtonsoftJsonSerializer);