diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardMerchantCheckResultEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardMerchantCheckResultEvent.cs index f3a6e3ef..1709dbde 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardMerchantCheckResultEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardMerchantCheckResultEvent.cs @@ -7,23 +7,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.card_merchant_check_result 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Third-party_developer_mode.html#2 /// - public class CardMerchantCheckResultEvent : CardPassCheckEvent, WechatApiEvent.Types.IXmlSerializable + public class CardMerchantCheckResultEvent : CardPassCheckEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置子商户 ID。 /// + [Newtonsoft.Json.JsonProperty("MerchantId")] + [System.Text.Json.Serialization.JsonPropertyName("MerchantId")] [System.Xml.Serialization.XmlElement("MerchantId")] public string MerchantId { get; set; } = default!; /// /// 获取或设置是否通过。 /// + [Newtonsoft.Json.JsonProperty("MerchantId")] + [System.Text.Json.Serialization.JsonPropertyName("MerchantId")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsPass")] public bool IsPassed { get; set; } /// /// 获取或设置驳回原因。 /// + [Newtonsoft.Json.JsonProperty("Reason")] + [System.Text.Json.Serialization.JsonPropertyName("Reason")] [System.Xml.Serialization.XmlElement("Reason", IsNullable = true)] public string? RefuseReason { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardNotPassCheckEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardNotPassCheckEvent.cs index 14eee11a..410daabd 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardNotPassCheckEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardNotPassCheckEvent.cs @@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.card_not_pass_check 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#1 /// - public class CardNotPassCheckEvent : CardPassCheckEvent, WechatApiEvent.Types.IXmlSerializable + public class CardNotPassCheckEvent : CardPassCheckEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置审核不通过原因。 /// + [Newtonsoft.Json.JsonProperty("RefuseReason")] + [System.Text.Json.Serialization.JsonPropertyName("RefuseReason")] [System.Xml.Serialization.XmlElement("RefuseReason")] public string RefuseReason { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardPassCheckEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardPassCheckEvent.cs index 2ae0679b..a891e841 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardPassCheckEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardPassCheckEvent.cs @@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.card_pass_check 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#1 /// - public class CardPassCheckEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class CardPassCheckEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardSKURemindEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardSKURemindEvent.cs index 3ada8155..cfb48c0a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardSKURemindEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/CardSKURemindEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.card_sku_remind 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#10 /// - public class CardSKURemindEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class CardSKURemindEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置报警详细信息。 /// + [Newtonsoft.Json.JsonProperty("Detail")] + [System.Text.Json.Serialization.JsonPropertyName("Detail")] [System.Xml.Serialization.XmlElement("Detail")] public string Detail { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardPayDoneEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardPayDoneEvent.cs index e0c4f9b3..b92ac319 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardPayDoneEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardPayDoneEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.giftcard_pay_done 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/gift_card.html#_10-1%E3%80%81%E7%94%A8%E6%88%B7%E8%B4%AD%E4%B9%B0%E7%A4%BC%E5%93%81%E5%8D%A1%E4%BB%98%E6%AC%BE%E6%88%90%E5%8A%9FCallBack /// - public class GiftCardPayDoneEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class GiftCardPayDoneEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置货架 ID。 /// + [Newtonsoft.Json.JsonProperty("PageId")] + [System.Text.Json.Serialization.JsonPropertyName("PageId")] [System.Xml.Serialization.XmlElement("PageId")] public string PageId { get; set; } = default!; /// /// 获取或设置订单号。 /// + [Newtonsoft.Json.JsonProperty("OrderId")] + [System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Xml.Serialization.XmlElement("OrderId")] public string OrderId { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardSendToFriendEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardSendToFriendEvent.cs index 35657ead..3a1e60d5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardSendToFriendEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardSendToFriendEvent.cs @@ -7,29 +7,39 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.giftcard_send_to_friend 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/gift_card.html#_10-2%E3%80%81%E7%94%A8%E6%88%B7%E8%B4%AD%E4%B9%B0%E5%90%8E%E8%B5%A0%E9%80%81CallBack /// - public class GiftCardSendToFriendEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class GiftCardSendToFriendEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置货架 ID。 /// + [Newtonsoft.Json.JsonProperty("PageId")] + [System.Text.Json.Serialization.JsonPropertyName("PageId")] [System.Xml.Serialization.XmlElement("PageId")] public string PageId { get; set; } = default!; /// /// 获取或设置订单号。 /// + [Newtonsoft.Json.JsonProperty("OrderId")] + [System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Xml.Serialization.XmlElement("OrderId")] public string OrderId { get; set; } = default!; /// /// 获取或设置是否转增退回。 /// + [Newtonsoft.Json.JsonProperty("IsReturnBack")] + [System.Text.Json.Serialization.JsonPropertyName("IsReturnBack")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsReturnBack")] public bool IsReturnBack { get; set; } /// /// 获取或设置是否是群转增。 /// + [Newtonsoft.Json.JsonProperty("IsChatRoom")] + [System.Text.Json.Serialization.JsonPropertyName("IsChatRoom")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsChatRoom")] public bool IsFromChatroom { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardUserAcceptEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardUserAcceptEvent.cs index 4d973861..37832455 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardUserAcceptEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/GiftCardUserAcceptEvent.cs @@ -7,23 +7,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.giftcard_user_accept 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/gift_card.html#_10-3%E3%80%81%E7%94%A8%E6%88%B7%E9%A2%86%E5%8F%96%E7%A4%BC%E5%93%81%E5%8D%A1%E6%88%90%E5%8A%9FCallBack /// - public class GiftCardUserAcceptEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class GiftCardUserAcceptEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置货架 ID。 /// + [Newtonsoft.Json.JsonProperty("PageId")] + [System.Text.Json.Serialization.JsonPropertyName("PageId")] [System.Xml.Serialization.XmlElement("PageId")] public string PageId { get; set; } = default!; /// /// 获取或设置订单号。 /// + [Newtonsoft.Json.JsonProperty("OrderId")] + [System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Xml.Serialization.XmlElement("OrderId")] public string OrderId { get; set; } = default!; /// /// 获取或设置是否是群转增。 /// + [Newtonsoft.Json.JsonProperty("IsChatRoom")] + [System.Text.Json.Serialization.JsonPropertyName("IsChatRoom")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsChatRoom")] public bool IsFromChatroom { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/OrderStatusFinanceSuccessEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/OrderStatusFinanceSuccessEvent.cs index 3590b1ed..4145eef0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/OrderStatusFinanceSuccessEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/OrderStatusFinanceSuccessEvent.cs @@ -7,77 +7,101 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.ORDER_STATUS_FINANCE_SUCC 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#11 /// - public class OrderStatusFinanceSuccessEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class OrderStatusFinanceSuccessEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置订单号。 /// + [Newtonsoft.Json.JsonProperty("OrderId")] + [System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Xml.Serialization.XmlElement("OrderId")] public string OrderId { get; set; } = default!; /// /// 获取或设置订单类型。 /// + [Newtonsoft.Json.JsonProperty("OrderType")] + [System.Text.Json.Serialization.JsonPropertyName("OrderType")] [System.Xml.Serialization.XmlElement("OrderType")] public string OrderType { get; set; } = default!; /// /// 获取或设置订单状态。 /// + [Newtonsoft.Json.JsonProperty("Status")] + [System.Text.Json.Serialization.JsonPropertyName("Status")] [System.Xml.Serialization.XmlElement("Status")] public string OrderStatus { get; set; } = default!; /// /// 获取或设置订单生成时间戳。 /// + [Newtonsoft.Json.JsonProperty("CreateOrderTime")] + [System.Text.Json.Serialization.JsonPropertyName("CreateOrderTime")] [System.Xml.Serialization.XmlElement("CreateOrderTime")] public long OrderCreateTimestamp { get; set; } /// /// 获取或设置订单支付成功时间戳。 /// + [Newtonsoft.Json.JsonProperty("PayFinishTime")] + [System.Text.Json.Serialization.JsonPropertyName("PayFinishTime")] [System.Xml.Serialization.XmlElement("PayFinishTime")] public long OrderPayTimestamp { get; set; } /// /// 获取或设置支付方式。 /// + [Newtonsoft.Json.JsonProperty("Desc")] + [System.Text.Json.Serialization.JsonPropertyName("Desc")] [System.Xml.Serialization.XmlElement("Desc", IsNullable = true)] public string? Description { get; set; } /// /// 获取或设置剩余免费券点数量。 /// + [Newtonsoft.Json.JsonProperty("FreeCoinCount")] + [System.Text.Json.Serialization.JsonPropertyName("FreeCoinCount")] [System.Xml.Serialization.XmlElement("FreeCoinCount")] public int FreeCoinCount { get; set; } /// /// 获取或设置剩余付费券点数量。 /// + [Newtonsoft.Json.JsonProperty("PayCoinCount")] + [System.Text.Json.Serialization.JsonPropertyName("PayCoinCount")] [System.Xml.Serialization.XmlElement("PayCoinCount")] public int PayCoinCount { get; set; } /// /// 获取或设置本次变动的免费券点数量。 /// + [Newtonsoft.Json.JsonProperty("RefundFreeCoinCount")] + [System.Text.Json.Serialization.JsonPropertyName("RefundFreeCoinCount")] [System.Xml.Serialization.XmlElement("RefundFreeCoinCount")] public int RefundFreeCoinCount { get; set; } /// /// 获取或设置本次变动的付费券点数量。 /// + [Newtonsoft.Json.JsonProperty("RefundPayCoinCount")] + [System.Text.Json.Serialization.JsonPropertyName("RefundPayCoinCount")] [System.Xml.Serialization.XmlElement("RefundPayCoinCount")] public int RefundPayCoinCount { get; set; } /// /// 获取或设置所开收据的详情。 /// + [Newtonsoft.Json.JsonProperty("ReceiptInfo")] + [System.Text.Json.Serialization.JsonPropertyName("ReceiptInfo")] [System.Xml.Serialization.XmlElement("ReceiptInfo", IsNullable = true)] public string? Receipt { get; set; } /// /// 获取或设置系统备注。 /// + [Newtonsoft.Json.JsonProperty("Memo")] + [System.Text.Json.Serialization.JsonPropertyName("Memo")] [System.Xml.Serialization.XmlElement("Memo", IsNullable = true)] public string? Remark { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/SubmitMemberCardUserInfoEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/SubmitMemberCardUserInfoEvent.cs index 3d3776a6..2940f0a5 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/SubmitMemberCardUserInfoEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/SubmitMemberCardUserInfoEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.submit_membercard_user_info 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#12 /// - public class SubmitMemberCardUserInfoEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class SubmitMemberCardUserInfoEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UpdateMemberCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UpdateMemberCardEvent.cs index 7589e54c..d37a01a8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UpdateMemberCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UpdateMemberCardEvent.cs @@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.update_member_card 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#9 /// - public class UpdateMemberCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UpdateMemberCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; /// /// 获取或设置变动的积分值。 /// + [Newtonsoft.Json.JsonProperty("ModifyBonus")] + [System.Text.Json.Serialization.JsonPropertyName("ModifyBonus")] [System.Xml.Serialization.XmlElement("ModifyBonus", IsNullable = true)] public int? ModifiedBonus { get; set; } /// /// 获取或设置变动的余额值(单位:分)。 /// + [Newtonsoft.Json.JsonProperty("ModifyBalance")] + [System.Text.Json.Serialization.JsonPropertyName("ModifyBalance")] [System.Xml.Serialization.XmlElement("ModifyBalance", IsNullable = true)] public int? ModifiedBalance { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserConsumeCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserConsumeCardEvent.cs index 147488bf..29b6f9e0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserConsumeCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserConsumeCardEvent.cs @@ -7,65 +7,85 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.user_consume_card 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#5 /// - public class UserConsumeCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserConsumeCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; /// /// 获取或设置核销来源。 /// + [Newtonsoft.Json.JsonProperty("ConsumeSource")] + [System.Text.Json.Serialization.JsonPropertyName("ConsumeSource")] [System.Xml.Serialization.XmlElement("ConsumeSource")] public string ConsumeSource { get; set; } = default!; /// /// 获取或设置门店 ID。 /// + [Newtonsoft.Json.JsonProperty("LocationId")] + [System.Text.Json.Serialization.JsonPropertyName("LocationId")] [System.Xml.Serialization.XmlElement("LocationId", IsNullable = true)] public long? POIId { get; set; } /// /// 获取或设置门店名称。 /// + [Newtonsoft.Json.JsonProperty("LocationName")] + [System.Text.Json.Serialization.JsonPropertyName("LocationName")] [System.Xml.Serialization.XmlElement("LocationName", IsNullable = true)] public string? POIName { get; set; } /// /// 获取或设置核销员的 OpenId。 /// + [Newtonsoft.Json.JsonProperty("StaffOpenId")] + [System.Text.Json.Serialization.JsonPropertyName("StaffOpenId")] [System.Xml.Serialization.XmlElement("StaffOpenId", IsNullable = true)] public string? StaffOpenId { get; set; } /// /// 获取或设置自助核销时用户输入的验证码。 /// + [Newtonsoft.Json.JsonProperty("VerifyCode")] + [System.Text.Json.Serialization.JsonPropertyName("VerifyCode")] [System.Xml.Serialization.XmlElement("VerifyCode", IsNullable = true)] public string? VerifyCode { get; set; } /// /// 获取或设置自助核销时用户输入的备注金额。 /// + [Newtonsoft.Json.JsonProperty("RemarkAmount")] + [System.Text.Json.Serialization.JsonPropertyName("RemarkAmount")] [System.Xml.Serialization.XmlElement("RemarkAmount", IsNullable = true)] public string? RemarkAmount { get; set; } /// /// 获取或设置商户自定义数值。 /// + [Newtonsoft.Json.JsonProperty("OuterId")] + [System.Text.Json.Serialization.JsonPropertyName("OuterId")] [System.Xml.Serialization.XmlElement("OuterId", IsNullable = true)] public string? OuterId { get; set; } /// /// 获取或设置商户自定义字符串。 /// + [Newtonsoft.Json.JsonProperty("OuterStr")] + [System.Text.Json.Serialization.JsonPropertyName("OuterStr")] [System.Xml.Serialization.XmlElement("OuterStr", IsNullable = true)] public string? OuterString { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserDeleteCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserDeleteCardEvent.cs index 1accedb7..60da5bdc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserDeleteCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserDeleteCardEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.user_del_card 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#4 /// - public class UserDeleteCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserDeleteCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserEnterSessionFromCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserEnterSessionFromCardEvent.cs index 59ff0e7f..2d79ce4b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserEnterSessionFromCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserEnterSessionFromCardEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.user_enter_session_from_card 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#8 /// - public class UserEnterSessionFromCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserEnterSessionFromCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGetCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGetCardEvent.cs index 691b83b8..71c690ea 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGetCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGetCardEvent.cs @@ -10,65 +10,88 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Membership_Cards/Create_a_membership_card.html#13 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/gift_card.html#_10-4%E3%80%81%E8%B5%A0%E9%80%8124%E5%B0%8F%E6%97%B6%E5%AF%B9%E6%96%B9%E6%9C%AA%E9%A2%86%E5%8F%96%E9%80%80%E5%9B%9E%E5%90%8E%E7%9A%84%E4%BA%8B%E4%BB%B6 /// - public class UserGetCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserGetCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; /// /// 获取或设置转赠前的卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("OldUserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("OldUserCardCode")] [System.Xml.Serialization.XmlElement("OldUserCardCode", IsNullable = true)] public string? OldCardCode { get; set; } /// /// 获取或设置领券用户的 UnionId。 /// + [Newtonsoft.Json.JsonProperty("UnionId")] + [System.Text.Json.Serialization.JsonPropertyName("UnionId")] [System.Xml.Serialization.XmlElement("UnionId", IsNullable = true)] public string? UnionId { get; set; } = default!; /// /// 获取或设置是否来自好友转增。 /// + [Newtonsoft.Json.JsonProperty("IsGiveByFriend")] + [System.Text.Json.Serialization.JsonPropertyName("IsGiveByFriend")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsGiveByFriend")] public bool IsTransferedByFriend { get; set; } /// /// 获取或设置转赠用户的 OpenId。 /// + [Newtonsoft.Json.JsonProperty("FriendUserName")] + [System.Text.Json.Serialization.JsonPropertyName("FriendUserName")] [System.Xml.Serialization.XmlElement("FriendUserName", IsNullable = true)] public string? FriendOpenId { get; set; } /// /// 获取或设置是否是找回会员卡。 /// + [Newtonsoft.Json.JsonProperty("IsRestoreMemberCard")] + [System.Text.Json.Serialization.JsonPropertyName("IsRestoreMemberCard")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))] [System.Xml.Serialization.XmlElement("IsRestoreMemberCard", IsNullable = true)] public bool? IsRestoreMemberCard { get; set; } /// /// 获取或设置是否是来自好友推荐。 /// + [Newtonsoft.Json.JsonProperty("IsRecommendByFriend")] + [System.Text.Json.Serialization.JsonPropertyName("IsRecommendByFriend")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))] [System.Xml.Serialization.XmlElement("IsRecommendByFriend", IsNullable = true)] public bool? IsRecommendByFriend { get; set; } /// /// 获取或设置商户自定义数值。 /// + [Newtonsoft.Json.JsonProperty("OuterId")] + [System.Text.Json.Serialization.JsonPropertyName("OuterId")] [System.Xml.Serialization.XmlElement("OuterId", IsNullable = true)] public string? OuterId { get; set; } /// /// 获取或设置商户自定义字符串。 /// + [Newtonsoft.Json.JsonProperty("OuterId")] + [System.Text.Json.Serialization.JsonPropertyName("OuterId")] [System.Xml.Serialization.XmlElement("OuterStr", IsNullable = true)] public string? OuterString { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGiftingCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGiftingCardEvent.cs index 1803a81c..7317ff37 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGiftingCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserGiftingCardEvent.cs @@ -7,35 +7,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.user_gifting_card 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#3 /// - public class UserGiftingCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserGiftingCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; /// /// 获取或设置接收卡券用户的 OpenId。 /// + [Newtonsoft.Json.JsonProperty("FriendUserName")] + [System.Text.Json.Serialization.JsonPropertyName("FriendUserName")] [System.Xml.Serialization.XmlElement("FriendUserName")] public string FriendOpenId { get; set; } = default!; /// /// 获取或设置是否转增退回。 /// + [Newtonsoft.Json.JsonProperty("IsReturnBack")] + [System.Text.Json.Serialization.JsonPropertyName("IsReturnBack")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsReturnBack")] public bool IsReturnBack { get; set; } /// /// 获取或设置是否是群转增。 /// + [Newtonsoft.Json.JsonProperty("IsChatRoom")] + [System.Text.Json.Serialization.JsonPropertyName("IsChatRoom")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("IsChatRoom")] public bool IsFromChatroom { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserPayFromPayCellEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserPayFromPayCellEvent.cs index 55144d99..87f31baa 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserPayFromPayCellEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserPayFromPayCellEvent.cs @@ -8,47 +8,61 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Create_a_Coupon_Voucher_or_Card.html#13 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#6 /// - public class UserPayFromPayCellEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserPayFromPayCellEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; /// /// 获取或设置微信支付交易订单号。 /// + [Newtonsoft.Json.JsonProperty("TransId")] + [System.Text.Json.Serialization.JsonPropertyName("TransId")] [System.Xml.Serialization.XmlElement("TransId", IsNullable = true)] public string? TransactionId { get; set; } /// /// 获取或设置门店 ID。 /// + [Newtonsoft.Json.JsonProperty("LocationId")] + [System.Text.Json.Serialization.JsonPropertyName("LocationId")] [System.Xml.Serialization.XmlElement("LocationId", IsNullable = true)] public long? POIId { get; set; } /// /// 获取或设置门店名称。 /// + [Newtonsoft.Json.JsonProperty("LocationName")] + [System.Text.Json.Serialization.JsonPropertyName("LocationName")] [System.Xml.Serialization.XmlElement("LocationName", IsNullable = true)] public string? POIName { get; set; } /// /// 获取或设置实付金额(单位:分)。 /// + [Newtonsoft.Json.JsonProperty("Fee")] + [System.Text.Json.Serialization.JsonPropertyName("Fee")] [System.Xml.Serialization.XmlElement("Fee")] public int Fee { get; set; } /// /// 获取或设置应付金额(单位:分)。 /// + [Newtonsoft.Json.JsonProperty("OriginalFee")] + [System.Text.Json.Serialization.JsonPropertyName("OriginalFee")] [System.Xml.Serialization.XmlElement("OriginalFee")] public int OriginalFee { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserViewCardEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserViewCardEvent.cs index d01dcc42..a211a984 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserViewCardEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Card/UserViewCardEvent.cs @@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.user_view_card 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#7 /// - public class UserViewCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserViewCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("UserCardCode")] + [System.Text.Json.Serialization.JsonPropertyName("UserCardCode")] [System.Xml.Serialization.XmlElement("UserCardCode")] public string CardCode { get; set; } = default!; /// /// 获取或设置商户自定义数值。 /// + [Newtonsoft.Json.JsonProperty("OuterId")] + [System.Text.Json.Serialization.JsonPropertyName("OuterId")] [System.Xml.Serialization.XmlElement("OuterId", IsNullable = true)] public string? OuterId { get; set; } /// /// 获取或设置商户自定义字符串。 /// + [Newtonsoft.Json.JsonProperty("OuterStr")] + [System.Text.Json.Serialization.JsonPropertyName("OuterStr")] [System.Xml.Serialization.XmlElement("OuterStr", IsNullable = true)] public string? OuterString { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/CloudInvoiceResultEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/CloudInvoiceResultEvent.cs index 52b5b38d..a4acb467 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/CloudInvoiceResultEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/CloudInvoiceResultEvent.cs @@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.cloud_invoice_invoiceresult_event 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Vendor_API_List.html#19 /// - public class CloudInvoiceResultEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class CloudInvoiceResultEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置开票状态码。 /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] [System.Xml.Serialization.XmlElement("status")] public int StatusCode { get; set; } /// /// 获取或设置发票请求流水号。 /// + [Newtonsoft.Json.JsonProperty("fpqqlsh")] + [System.Text.Json.Serialization.JsonPropertyName("fpqqlsh")] [System.Xml.Serialization.XmlElement("fpqqlsh")] public string InvoiceSerialNumber { get; set; } = default!; /// /// 获取或设置纳税人识别码。 /// + [Newtonsoft.Json.JsonProperty("nsrsbh")] + [System.Text.Json.Serialization.JsonPropertyName("nsrsbh")] [System.Xml.Serialization.XmlElement("nsrsbh")] public string SellerTaxNumber { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/SubmitInvoiceTitleEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/SubmitInvoiceTitleEvent.cs index be34c5b4..3835368d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/SubmitInvoiceTitleEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/SubmitInvoiceTitleEvent.cs @@ -7,53 +7,69 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.submit_invoice_title 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Quick_issuing/Interface_Instructions.html /// - public class SubmitInvoiceTitleEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class SubmitInvoiceTitleEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置发票抬头类型。 /// + [Newtonsoft.Json.JsonProperty("title_type")] + [System.Text.Json.Serialization.JsonPropertyName("title_type")] [System.Xml.Serialization.XmlElement("title_type")] public string TitleType { get; set; } = default!; /// /// 获取或设置发票抬头。 /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] [System.Xml.Serialization.XmlElement("title")] public string Title { get; set; } = default!; /// /// 获取或设置税号。 /// + [Newtonsoft.Json.JsonProperty("tax_no")] + [System.Text.Json.Serialization.JsonPropertyName("tax_no")] [System.Xml.Serialization.XmlElement("tax_no", IsNullable = true)] public string? TaxNumber { get; set; } /// /// 获取或设置联系电话。 /// + [Newtonsoft.Json.JsonProperty("phone")] + [System.Text.Json.Serialization.JsonPropertyName("phone")] [System.Xml.Serialization.XmlElement("phone", IsNullable = true)] public string? PhoneNumber { get; set; } /// /// 获取或设置联系地址。 /// + [Newtonsoft.Json.JsonProperty("addr")] + [System.Text.Json.Serialization.JsonPropertyName("addr")] [System.Xml.Serialization.XmlElement("addr", IsNullable = true)] public string? Address { get; set; } /// /// 获取或设置开户行。 /// + [Newtonsoft.Json.JsonProperty("bank_type")] + [System.Text.Json.Serialization.JsonPropertyName("bank_type")] [System.Xml.Serialization.XmlElement("bank_type", IsNullable = true)] public string? Bank { get; set; } /// /// 获取或设置银行账号。 /// + [Newtonsoft.Json.JsonProperty("bank_no")] + [System.Text.Json.Serialization.JsonPropertyName("bank_no")] [System.Xml.Serialization.XmlElement("bank_no", IsNullable = true)] public string? BankNumber { get; set; } /// /// 获取或设置附加信息。 /// + [Newtonsoft.Json.JsonProperty("attach")] + [System.Text.Json.Serialization.JsonPropertyName("attach")] [System.Xml.Serialization.XmlElement("attach", IsNullable = true)] public string? Attachment { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UpdateInvoiceStatusEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UpdateInvoiceStatusEvent.cs index 3250f47d..ecefd399 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UpdateInvoiceStatusEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UpdateInvoiceStatusEvent.cs @@ -8,23 +8,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Invoicing_Platform_API_List.html#7 /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Nontax_Bill/API_list.html#3.6 /// - public class UpdateInvoiceStatusEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UpdateInvoiceStatusEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置发票或非税票据卡券模板编号。 /// + [Newtonsoft.Json.JsonProperty("CardId")] + [System.Text.Json.Serialization.JsonPropertyName("CardId")] [System.Xml.Serialization.XmlElement("CardId")] public string CardId { get; set; } = default!; /// /// 获取或设置发票或非税票据卡券 Code。 /// + [Newtonsoft.Json.JsonProperty("Code")] + [System.Text.Json.Serialization.JsonPropertyName("Code")] [System.Xml.Serialization.XmlElement("Code")] public string CardCode { get; set; } = default!; /// /// 获取或设置发票或非税票据报销状态。 /// + [Newtonsoft.Json.JsonProperty("Status")] + [System.Text.Json.Serialization.JsonPropertyName("Status")] [System.Xml.Serialization.XmlElement("Status", IsNullable = true)] public string? ReimburseStatus { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UserAuthorizeInvoiceEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UserAuthorizeInvoiceEvent.cs index 107877f3..5b77b12b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UserAuthorizeInvoiceEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/CardInvoice/UserAuthorizeInvoiceEvent.cs @@ -9,23 +9,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Vendor_API_List.html#6 /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Nontax_Bill/API_list.html#2.3 /// - public class UserAuthorizeInvoiceEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class UserAuthorizeInvoiceEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置授权成功的订单号。 /// + [Newtonsoft.Json.JsonProperty("SuccOrderId")] + [System.Text.Json.Serialization.JsonPropertyName("SuccOrderId")] [System.Xml.Serialization.XmlElement("SuccOrderId", IsNullable = true)] public string? SuccessOrderId { get; set; } /// /// 获取或设置授权失败的订单号。 /// + [Newtonsoft.Json.JsonProperty("FailOrderId")] + [System.Text.Json.Serialization.JsonPropertyName("FailOrderId")] [System.Xml.Serialization.XmlElement("FailOrderId", IsNullable = true)] public string? FailOrderId { get; set; } /// /// 获取或设置授权来源。 /// + [Newtonsoft.Json.JsonProperty("Source")] + [System.Text.Json.Serialization.JsonPropertyName("Source")] [System.Xml.Serialization.XmlElement("Source")] public string Source { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Merchant/MerchantOrderEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Merchant/MerchantOrderEvent.cs index 91651ac5..9bbba5b9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Merchant/MerchantOrderEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/Merchant/MerchantOrderEvent.cs @@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.merchant_order 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Stores/WeChat_Store_Interface.html#8 /// - public class MerchantOrderEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class MerchantOrderEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置订单号。 /// + [Newtonsoft.Json.JsonProperty("OrderId")] + [System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Xml.Serialization.XmlElement("OrderId")] public string OrderId { get; set; } = default!; /// /// 获取或设置订单状态。 /// + [Newtonsoft.Json.JsonProperty("OrderStatus")] + [System.Text.Json.Serialization.JsonPropertyName("OrderStatus")] [System.Xml.Serialization.XmlElement("OrderStatus")] public int OrderStatus { get; set; } /// /// 获取或设置商品 ID。 /// + [Newtonsoft.Json.JsonProperty("ProductId")] + [System.Text.Json.Serialization.JsonPropertyName("ProductId")] [System.Xml.Serialization.XmlElement("ProductId")] public string ProductId { get; set; } = default!; /// /// 获取或设置 SKU 信息。 /// + [Newtonsoft.Json.JsonProperty("SkuInfo")] + [System.Text.Json.Serialization.JsonPropertyName("SkuInfo")] [System.Xml.Serialization.XmlElement("SkuInfo")] public string SKUInformation { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/AnnualRenewEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/AnnualRenewEvent.cs index aadbaec2..fa5e5839 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/AnnualRenewEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/AnnualRenewEvent.cs @@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.annual_renew 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#4 /// - public class AnnualRenewEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class AnnualRenewEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置过期时间戳。 /// + [Newtonsoft.Json.JsonProperty("ExpiredTime")] + [System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")] [System.Xml.Serialization.XmlElement("ExpiredTime")] public long ExpireTimestamp { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifyFailEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifyFailEvent.cs index ab7d8def..10eb0edc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifyFailEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifyFailEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.naming_verify_fail 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#3 /// - public class NamingVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class NamingVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置失败时间戳。 /// + [Newtonsoft.Json.JsonProperty("FailTime")] + [System.Text.Json.Serialization.JsonPropertyName("FailTime")] [System.Xml.Serialization.XmlElement("FailTime")] public long FailTimestamp { get; set; } /// /// 获取或设置失败原因。 /// + [Newtonsoft.Json.JsonProperty("FailReason")] + [System.Text.Json.Serialization.JsonPropertyName("FailReason")] [System.Xml.Serialization.XmlElement("FailReason")] public string FailReason { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifySuccessEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifySuccessEvent.cs index b0189a68..59f3d08b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifySuccessEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/NamingVerifySuccessEvent.cs @@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.naming_verify_success 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#2 /// - public class NamingVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class NamingVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置过期时间戳。 /// + [Newtonsoft.Json.JsonProperty("ExpiredTime")] + [System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")] [System.Xml.Serialization.XmlElement("ExpiredTime")] public long ExpireTimestamp { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifyFailEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifyFailEvent.cs index 17037442..fb7b433a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifyFailEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifyFailEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.qualification_verify_fail 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#1 /// - public class QualificationVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class QualificationVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置失败时间戳。 /// + [Newtonsoft.Json.JsonProperty("FailTime")] + [System.Text.Json.Serialization.JsonPropertyName("FailTime")] [System.Xml.Serialization.XmlElement("FailTime")] public long FailTimestamp { get; set; } /// /// 获取或设置失败原因。 /// + [Newtonsoft.Json.JsonProperty("FailReason")] + [System.Text.Json.Serialization.JsonPropertyName("FailReason")] [System.Xml.Serialization.XmlElement("FailReason")] public string FailReason { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifySuccessEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifySuccessEvent.cs index d2ce63ff..fe28d737 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifySuccessEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/QualificationVerifySuccessEvent.cs @@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.qualification_verify_success 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#0 /// - public class QualificationVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class QualificationVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置过期时间戳。 /// + [Newtonsoft.Json.JsonProperty("ExpiredTime")] + [System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")] [System.Xml.Serialization.XmlElement("ExpiredTime")] public long ExpireTimestamp { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/VerifyExpiredEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/VerifyExpiredEvent.cs index 5b3e1bf3..b4d3013b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/VerifyExpiredEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpAccreditation/VerifyExpiredEvent.cs @@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.verify_expired 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#5 /// - public class VerifyExpiredEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class VerifyExpiredEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置过期时间戳。 /// + [Newtonsoft.Json.JsonProperty("ExpiredTime")] + [System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")] [System.Xml.Serialization.XmlElement("ExpiredTime")] public long ExpireTimestamp { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpGuide/GuideQrcodeScanEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpGuide/GuideQrcodeScanEvent.cs index 49ae3847..33262526 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpGuide/GuideQrcodeScanEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpGuide/GuideQrcodeScanEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.guide_qrcode_scan_event 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Shopping_Guide/guide-account/shopping-guide.onGuideCreateQrCode.html /// - public class GuideQrcodeScanEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class GuideQrcodeScanEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { public new static class Types { @@ -16,30 +16,40 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置顾问微信号。 /// + [Newtonsoft.Json.JsonProperty("qrcode_guide_account")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_guide_account")] [System.Xml.Serialization.XmlElement("qrcode_guide_account")] public string GuideAccount { get; set; } = default!; /// /// 获取或设置顾问 OpenId。 /// + [Newtonsoft.Json.JsonProperty("qrcode_guide_openid")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_guide_openid")] [System.Xml.Serialization.XmlElement("qrcode_guide_openid", IsNullable = true)] public string? GuideOpenId { get; set; } /// /// 获取或设置扫码用户 OpenId。 /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] [System.Xml.Serialization.XmlElement("openid")] public string BuyerOpenId { get; set; } = default!; /// /// 获取或设置扫码类型。 /// + [Newtonsoft.Json.JsonProperty("action")] + [System.Text.Json.Serialization.JsonPropertyName("action")] [System.Xml.Serialization.XmlElement("action")] public int Action { get; set; } /// /// 获取或设置生成二维码时的扩展信息。 /// + [Newtonsoft.Json.JsonProperty("qrcode_info")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_info")] [System.Xml.Serialization.XmlElement("qrcode_info", IsNullable = true)] public string? QrcodeExt { get; set; } } @@ -48,7 +58,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置事件数据。 /// - [System.Xml.Serialization.XmlElement("MsgID")] + [Newtonsoft.Json.JsonProperty("GuideScanEvent")] + [System.Text.Json.Serialization.JsonPropertyName("GuideScanEvent")] + [System.Xml.Serialization.XmlElement("GuideScanEvent")] public Types.Data EventData { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/MassSendJobFinishEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/MassSendJobFinishEvent.cs index 0d7076cb..90c6eda9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/MassSendJobFinishEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/MassSendJobFinishEvent.cs @@ -7,41 +7,53 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.MASSSENDJOBFINISH 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Batch_Sends_and_Originality_Checks.html#7 /// - public class MassSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class MassSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgID")] + [System.Text.Json.Serialization.JsonPropertyName("MsgID")] [System.Xml.Serialization.XmlElement("MsgID")] public long MessageId { get; set; } /// /// 获取或设置发送状态。 /// + [Newtonsoft.Json.JsonProperty("Status")] + [System.Text.Json.Serialization.JsonPropertyName("Status")] [System.Xml.Serialization.XmlElement("Status")] public string Status { get; set; } = default!; /// /// 获取或设置总人数。 /// + [Newtonsoft.Json.JsonProperty("TotalCount")] + [System.Text.Json.Serialization.JsonPropertyName("TotalCount")] [System.Xml.Serialization.XmlElement("TotalCount")] public int TotalCount { get; set; } /// /// 获取或设置过滤人数。 /// + [Newtonsoft.Json.JsonProperty("FilterCount")] + [System.Text.Json.Serialization.JsonPropertyName("FilterCount")] [System.Xml.Serialization.XmlElement("FilterCount")] public int FilterCount { get; set; } /// /// 获取或设置发送成功人数。 /// + [Newtonsoft.Json.JsonProperty("SentCount")] + [System.Text.Json.Serialization.JsonPropertyName("SentCount")] [System.Xml.Serialization.XmlElement("SentCount")] public int SentCount { get; set; } /// /// 获取或设置发送失败人数。 /// + [Newtonsoft.Json.JsonProperty("ErrorCount")] + [System.Text.Json.Serialization.JsonPropertyName("ErrorCount")] [System.Xml.Serialization.XmlElement("ErrorCount")] public int ErrorCount { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/TemplateSendJobFinishEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/TemplateSendJobFinishEvent.cs index 449115f9..ccc6c678 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/TemplateSendJobFinishEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpJob/TemplateSendJobFinishEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.TEMPLATESENDJOBFINISH 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 /// - public class TemplateSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class TemplateSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgId")] + [System.Text.Json.Serialization.JsonPropertyName("MsgId")] [System.Xml.Serialization.XmlElement("MsgID")] public long MessageId { get; set; } /// /// 获取或设置发送状态。 /// + [Newtonsoft.Json.JsonProperty("Status")] + [System.Text.Json.Serialization.JsonPropertyName("Status")] [System.Xml.Serialization.XmlElement("Status")] public string Status { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ImageMessageEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ImageMessageEvent.cs index 937feee7..d3bb66e2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ImageMessageEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ImageMessageEvent.cs @@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 IMAGE 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html#%E5%9B%BE%E7%89%87%E6%B6%88%E6%81%AF /// - public class ImageMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class ImageMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgId")] + [System.Text.Json.Serialization.JsonPropertyName("MsgId")] [System.Xml.Serialization.XmlElement("MsgId")] public long MessageId { get; set; } /// /// 获取或设置图片 URL。 /// + [Newtonsoft.Json.JsonProperty("PicUrl")] + [System.Text.Json.Serialization.JsonPropertyName("PicUrl")] [System.Xml.Serialization.XmlElement("PicUrl")] public string PictureUrl { get; set; } = default!; /// /// 获取或设置图片消息 MediaId。 /// + [Newtonsoft.Json.JsonProperty("MediaId")] + [System.Text.Json.Serialization.JsonPropertyName("MediaId")] [System.Xml.Serialization.XmlElement("MediaId")] public string MediaId { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/LocationMessageEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/LocationMessageEvent.cs index 0862ae18..ae7bd114 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/LocationMessageEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/LocationMessageEvent.cs @@ -7,35 +7,45 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 LOCATION 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html#%E5%9C%B0%E7%90%86%E4%BD%8D%E7%BD%AE%E6%B6%88%E6%81%AF /// - public class LocationMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class LocationMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgId")] + [System.Text.Json.Serialization.JsonPropertyName("MsgId")] [System.Xml.Serialization.XmlElement("MsgId")] public long MessageId { get; set; } /// /// 获取或设置纬度坐标。 /// + [Newtonsoft.Json.JsonProperty("Location_X")] + [System.Text.Json.Serialization.JsonPropertyName("Location_X")] [System.Xml.Serialization.XmlElement("Location_X")] public double Latitude { get; set; } /// /// 获取或设置经度坐标。 /// + [Newtonsoft.Json.JsonProperty("Location_Y")] + [System.Text.Json.Serialization.JsonPropertyName("Location_Y")] [System.Xml.Serialization.XmlElement("Location_Y")] public double Longitude { get; set; } /// /// 获取或设置地图缩放大小。 /// + [Newtonsoft.Json.JsonProperty("Scale")] + [System.Text.Json.Serialization.JsonPropertyName("Scale")] [System.Xml.Serialization.XmlElement("Scale")] public double Scale { get; set; } /// /// 获取或设置地理位置信息。 /// + [Newtonsoft.Json.JsonProperty("Label")] + [System.Text.Json.Serialization.JsonPropertyName("Label")] [System.Xml.Serialization.XmlElement("Label")] public string Label { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ShortVideoMessageEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ShortVideoMessageEvent.cs index 6f76e2ad..c57ac8ab 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ShortVideoMessageEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/ShortVideoMessageEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 SHORTVIDEO 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html#%E5%B0%8F%E8%A7%86%E9%A2%91%E6%B6%88%E6%81%AF /// - public class ShortVideoMessageEvent : VideoMessageEvent, WechatApiEvent.Types.IXmlSerializable + public class ShortVideoMessageEvent : VideoMessageEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/TextMessageEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/TextMessageEvent.cs index f5a39442..007c7847 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/TextMessageEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/TextMessageEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 TEXT 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html#%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF /// - public class TextMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class TextMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgId")] + [System.Text.Json.Serialization.JsonPropertyName("MsgId")] [System.Xml.Serialization.XmlElement("MsgId")] public long MessageId { get; set; } /// /// 获取或设置消息内容。 /// + [Newtonsoft.Json.JsonProperty("Content")] + [System.Text.Json.Serialization.JsonPropertyName("Content")] [System.Xml.Serialization.XmlElement("Content")] public string Content { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VideoMessageEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VideoMessageEvent.cs index 50188446..c4fdc94a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VideoMessageEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VideoMessageEvent.cs @@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 VIDEO 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html#%E8%A7%86%E9%A2%91%E6%B6%88%E6%81%AF /// - public class VideoMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class VideoMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgId")] + [System.Text.Json.Serialization.JsonPropertyName("MsgId")] [System.Xml.Serialization.XmlElement("MsgId")] public long MessageId { get; set; } /// /// 获取或设置视频消息 MediaId。 /// + [Newtonsoft.Json.JsonProperty("MediaId")] + [System.Text.Json.Serialization.JsonPropertyName("MediaId")] [System.Xml.Serialization.XmlElement("MediaId")] public string MediaId { get; set; } = default!; /// /// 获取或设置视频消息缩略图 MediaId。 /// + [Newtonsoft.Json.JsonProperty("ThumbMediaId")] + [System.Text.Json.Serialization.JsonPropertyName("ThumbMediaId")] [System.Xml.Serialization.XmlElement("ThumbMediaId")] public string ThumbnailMediaId { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VoiceMessageEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VoiceMessageEvent.cs index f3c5e5f5..f15d14cc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VoiceMessageEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpMessage/VoiceMessageEvent.cs @@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 VOICE 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_standard_messages.html#%E8%AF%AD%E9%9F%B3%E6%B6%88%E6%81%AF /// - public class VoiceMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class VoiceMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgId")] + [System.Text.Json.Serialization.JsonPropertyName("MsgId")] [System.Xml.Serialization.XmlElement("MsgId")] public long MessageId { get; set; } /// /// 获取或设置语音格式。 /// + [Newtonsoft.Json.JsonProperty("Format")] + [System.Text.Json.Serialization.JsonPropertyName("Format")] [System.Xml.Serialization.XmlElement("Format")] public string Format { get; set; } = default!; /// /// 获取或设置语音消息 MediaId。 /// + [Newtonsoft.Json.JsonProperty("MediaId")] + [System.Text.Json.Serialization.JsonPropertyName("MediaId")] [System.Xml.Serialization.XmlElement("MediaId")] public string MediaId { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ClickPushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ClickPushEvent.cs index 969f4929..e7ad7c91 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ClickPushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ClickPushEvent.cs @@ -8,11 +8,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E4%BA%8B%E4%BB%B6 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#0 /// - public class ClickPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class ClickPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置事件 Key,即自定义菜单接口中的 Key 值。 /// + [Newtonsoft.Json.JsonProperty("EventKey")] + [System.Text.Json.Serialization.JsonPropertyName("EventKey")] [System.Xml.Serialization.XmlElement("EventKey")] public string EventKey { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/LocationPushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/LocationPushEvent.cs index c6f1ad0a..60123113 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/LocationPushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/LocationPushEvent.cs @@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.LOCATION 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E4%B8%8A%E6%8A%A5%E5%9C%B0%E7%90%86%E4%BD%8D%E7%BD%AE%E4%BA%8B%E4%BB%B6 /// - public class LocationPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class LocationPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置地理位置纬度。 /// + [Newtonsoft.Json.JsonProperty("Latitude")] + [System.Text.Json.Serialization.JsonPropertyName("Latitude")] [System.Xml.Serialization.XmlElement("Latitude")] public double Latitude { get; set; } /// /// 获取或设置地理位置经度。 /// + [Newtonsoft.Json.JsonProperty("Longitude")] + [System.Text.Json.Serialization.JsonPropertyName("Longitude")] [System.Xml.Serialization.XmlElement("Longitude")] public double Longitude { get; set; } /// /// 获取或设置地理位置精度。 /// + [Newtonsoft.Json.JsonProperty("Precision")] + [System.Text.Json.Serialization.JsonPropertyName("Precision")] [System.Xml.Serialization.XmlElement("Precision")] public double Precision { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanCodePushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanCodePushEvent.cs index ca8f4322..ca5e22b6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanCodePushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanCodePushEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.scancode_push 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#2 /// - public class ScanCodePushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class ScanCodePushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { public new static class Types { @@ -16,12 +16,16 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置扫描类型。 /// + [Newtonsoft.Json.JsonProperty("ScanType")] + [System.Text.Json.Serialization.JsonPropertyName("ScanType")] [System.Xml.Serialization.XmlElement("ScanType")] public string ScanType { get; set; } = default!; /// /// 获取或设置扫描结果。 /// + [Newtonsoft.Json.JsonProperty("ScanResult")] + [System.Text.Json.Serialization.JsonPropertyName("ScanResult")] [System.Xml.Serialization.XmlElement("ScanResult")] public string ScanResult { get; set; } = default!; } @@ -30,12 +34,16 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置事件 Key,即自定义菜单接口中的 Key 值。 /// + [Newtonsoft.Json.JsonProperty("EventKey")] + [System.Text.Json.Serialization.JsonPropertyName("EventKey")] [System.Xml.Serialization.XmlElement("EventKey")] public string EventKey { get; set; } = default!; /// /// 获取或设置扫描信息。 /// + [Newtonsoft.Json.JsonProperty("ScanCodeInfo")] + [System.Text.Json.Serialization.JsonPropertyName("ScanCodeInfo")] [System.Xml.Serialization.XmlElement("ScanCodeInfo")] public Types.ScanCode ScanCode { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanPushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanPushEvent.cs index e7a5c041..636d4f15 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanPushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ScanPushEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.SCAN 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E6%89%AB%E6%8F%8F%E5%B8%A6%E5%8F%82%E6%95%B0%E4%BA%8C%E7%BB%B4%E7%A0%81%E4%BA%8B%E4%BB%B6 /// - public class ScanPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class ScanPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置事件 Key,即创建二维码时的 SceneId。 /// + [Newtonsoft.Json.JsonProperty("EventKey")] + [System.Text.Json.Serialization.JsonPropertyName("EventKey")] [System.Xml.Serialization.XmlElement("EventKey")] public string EventKey { get; set; } = default!; /// /// 获取或设置二维码的 Ticket。 /// + [Newtonsoft.Json.JsonProperty("Ticket")] + [System.Text.Json.Serialization.JsonPropertyName("Ticket")] [System.Xml.Serialization.XmlElement("Ticket")] public string Ticket { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/SubscribePushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/SubscribePushEvent.cs index 6e870ad1..e368d76d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/SubscribePushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/SubscribePushEvent.cs @@ -8,17 +8,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E5%85%B3%E6%B3%A8-%E5%8F%96%E6%B6%88%E5%85%B3%E6%B3%A8%E4%BA%8B%E4%BB%B6 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E6%89%AB%E6%8F%8F%E5%B8%A6%E5%8F%82%E6%95%B0%E4%BA%8C%E7%BB%B4%E7%A0%81%E4%BA%8B%E4%BB%B6 /// - public class SubscribePushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class SubscribePushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置事件 Key,即创建二维码时的 SceneId。 /// + [Newtonsoft.Json.JsonProperty("EventKey")] + [System.Text.Json.Serialization.JsonPropertyName("EventKey")] [System.Xml.Serialization.XmlElement("EventKey", IsNullable = true)] public string? EventKey { get; set; } /// /// 获取或设置二维码的 Ticket。 /// + [Newtonsoft.Json.JsonProperty("Ticket")] + [System.Text.Json.Serialization.JsonPropertyName("Ticket")] [System.Xml.Serialization.XmlElement("Ticket", IsNullable = true)] public string? Ticket { get; set; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/UnsubscribePushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/UnsubscribePushEvent.cs index 59d2ec04..6fd63b44 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/UnsubscribePushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/UnsubscribePushEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.unsubscribe 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E5%85%B3%E6%B3%A8-%E5%8F%96%E6%B6%88%E5%85%B3%E6%B3%A8%E4%BA%8B%E4%BB%B6 /// - public class UnsubscribePushEvent : SubscribePushEvent, WechatApiEvent.Types.IXmlSerializable + public class UnsubscribePushEvent : SubscribePushEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewMiniProgramPushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewMiniProgramPushEvent.cs index 8fe7bef1..58d36337 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewMiniProgramPushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewMiniProgramPushEvent.cs @@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.view_miniprogram 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#8 /// - public class ViewMiniProgramPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class ViewMiniProgramPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置个性化菜单 ID。 /// + [Newtonsoft.Json.JsonProperty("MenuId")] + [System.Text.Json.Serialization.JsonPropertyName("MenuId")] [System.Xml.Serialization.XmlElement("MenuId", IsNullable = true)] public string? MenuId { get; set; } /// /// 获取或设置事件 Key,即跳转的小程序路径。 /// + [Newtonsoft.Json.JsonProperty("EventKey")] + [System.Text.Json.Serialization.JsonPropertyName("EventKey")] [System.Xml.Serialization.XmlElement("EventKey")] public string EventKey { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewPushEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewPushEvent.cs index 6f1d61b5..453e10b9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewPushEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpPush/ViewPushEvent.cs @@ -8,17 +8,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Receiving_event_pushes.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E4%BA%8B%E4%BB%B6 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#1 /// - public class ViewPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class ViewPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置个性化菜单 ID。 /// + [Newtonsoft.Json.JsonProperty("MenuId")] + [System.Text.Json.Serialization.JsonPropertyName("MenuId")] [System.Xml.Serialization.XmlElement("MenuId", IsNullable = true)] public string? MenuId { get; set; } /// /// 获取或设置事件 Key,即跳转的 URL。 /// + [Newtonsoft.Json.JsonProperty("EventKey")] + [System.Text.Json.Serialization.JsonPropertyName("EventKey")] [System.Xml.Serialization.XmlElement("EventKey")] public string EventKey { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs index 04e43c9c..190aa2e2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageChangeEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.subscribe_msg_change_event 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Subscription_Messages/api.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 /// - public class SubscribeMessageChangeEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class SubscribeMessageChangeEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { public new static class Types { @@ -20,12 +20,16 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置订阅消息模板 ID。 /// + [Newtonsoft.Json.JsonProperty("TemplateId")] + [System.Text.Json.Serialization.JsonPropertyName("TemplateId")] [System.Xml.Serialization.XmlElement("TemplateId")] public string TemplateId { get; set; } = default!; /// /// 获取或设置用户点击行为。 /// + [Newtonsoft.Json.JsonProperty("SubscribeStatusString")] + [System.Text.Json.Serialization.JsonPropertyName("SubscribeStatusString")] [System.Xml.Serialization.XmlElement("SubscribeStatusString")] public string SubscribeStatus { get; set; } = default!; } @@ -34,6 +38,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置用户管理订阅通知数据列表。 /// + [Newtonsoft.Json.JsonProperty("List")] + [System.Text.Json.Serialization.JsonPropertyName("List")] [System.Xml.Serialization.XmlArray("List")] public Types.EventItem[] EventList { get; set; } = default!; } @@ -42,6 +48,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置事件数据。 /// + [Newtonsoft.Json.JsonProperty("SubscribeMsgChangeEvent")] + [System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgChangeEvent")] [System.Xml.Serialization.XmlElement("SubscribeMsgChangeEvent")] public Types.Data EventData { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs index b99c0298..362dc334 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessagePopupEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.subscribe_msg_popup_event 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Subscription_Messages/api.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 /// - public class SubscribeMessagePopupEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class SubscribeMessagePopupEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { public new static class Types { @@ -20,18 +20,24 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置订阅消息模板 ID。 /// + [Newtonsoft.Json.JsonProperty("TemplateId")] + [System.Text.Json.Serialization.JsonPropertyName("TemplateId")] [System.Xml.Serialization.XmlElement("TemplateId")] public string TemplateId { get; set; } = default!; /// /// 获取或设置用户点击行为。 /// + [Newtonsoft.Json.JsonProperty("SubscribeStatusString")] + [System.Text.Json.Serialization.JsonPropertyName("SubscribeStatusString")] [System.Xml.Serialization.XmlElement("SubscribeStatusString")] public string SubscribeStatus { get; set; } = default!; /// /// 获取或设置场景。 /// + [Newtonsoft.Json.JsonProperty("PopupScene")] + [System.Text.Json.Serialization.JsonPropertyName("PopupScene")] [System.Xml.Serialization.XmlElement("PopupScene")] public int PopupScene { get; set; } } @@ -40,6 +46,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置用户订阅通知弹窗数据列表。 /// + [Newtonsoft.Json.JsonProperty("List")] + [System.Text.Json.Serialization.JsonPropertyName("List")] [System.Xml.Serialization.XmlArray("List")] public Types.EventItem[] EventList { get; set; } = default!; } @@ -48,6 +56,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置事件数据。 /// + [Newtonsoft.Json.JsonProperty("SubscribeMsgPopupEvent")] + [System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgPopupEvent")] [System.Xml.Serialization.XmlElement("SubscribeMsgPopupEvent")] public Types.Data EventData { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs index ed311390..12024eba 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpSubscribeMessage/SubscribeMessageSentEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.subscribe_msg_sent_event 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/Subscription_Messages/api.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 /// - public class SubscribeMessageSentEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class SubscribeMessageSentEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { public new static class Types { @@ -20,24 +20,32 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置订阅消息模板 ID。 /// + [Newtonsoft.Json.JsonProperty("TemplateId")] + [System.Text.Json.Serialization.JsonPropertyName("TemplateId")] [System.Xml.Serialization.XmlElement("TemplateId")] public string TemplateId { get; set; } = default!; /// /// 获取或设置消息 ID。 /// + [Newtonsoft.Json.JsonProperty("MsgID")] + [System.Text.Json.Serialization.JsonPropertyName("MsgID")] [System.Xml.Serialization.XmlElement("MsgID")] public long? MessageId { get; set; } /// /// 获取或设置推送结果状态码。 /// + [Newtonsoft.Json.JsonProperty("ErrorCode")] + [System.Text.Json.Serialization.JsonPropertyName("ErrorCode")] [System.Xml.Serialization.XmlElement("ErrorCode")] public int ErrorCode { get; set; } /// /// 获取或设置推送结果状态含义。 /// + [Newtonsoft.Json.JsonProperty("ErrorStatus")] + [System.Text.Json.Serialization.JsonPropertyName("ErrorStatus")] [System.Xml.Serialization.XmlElement("ErrorStatus")] public string ErrorMessage { get; set; } = default!; } @@ -46,6 +54,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置发送订阅通知数据列表。 /// + [Newtonsoft.Json.JsonProperty("List")] + [System.Text.Json.Serialization.JsonPropertyName("List")] [System.Xml.Serialization.XmlArray("List")] public Types.EventItem[] EventList { get; set; } = default!; } @@ -54,6 +64,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// /// 获取或设置事件数据。 /// + [Newtonsoft.Json.JsonProperty("SubscribeMsgSentEvent")] + [System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgSentEvent")] [System.Xml.Serialization.XmlElement("SubscribeMsgSentEvent")] public Types.Data EventData { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/POI/POICheckNotifyEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/POI/POICheckNotifyEvent.cs index 6b8b1b4c..9d4e4478 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/POI/POICheckNotifyEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/POI/POICheckNotifyEvent.cs @@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.poi_check_notify 事件的数据。 /// REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Stores/WeChat_Store_Interface.html#8 /// - public class POICheckNotifyEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable + public class POICheckNotifyEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable { /// /// 获取或设置商户门店 ID。 /// + [Newtonsoft.Json.JsonProperty("UniqId")] + [System.Text.Json.Serialization.JsonPropertyName("UniqId")] [System.Xml.Serialization.XmlElement("UniqId")] public string? SID { get; set; } /// /// 获取或设置门店 ID。 /// + [Newtonsoft.Json.JsonProperty("PoiId")] + [System.Text.Json.Serialization.JsonPropertyName("PoiId")] [System.Xml.Serialization.XmlElement("PoiId")] public string POIId { get; set; } = default!; /// /// 获取或设置审核结果。 /// + [Newtonsoft.Json.JsonProperty("Result")] + [System.Text.Json.Serialization.JsonPropertyName("Result")] [System.Xml.Serialization.XmlElement("Result")] public string Result { get; set; } = default!; /// /// 获取或设置审核信息。 /// + [Newtonsoft.Json.JsonProperty("msg")] + [System.Text.Json.Serialization.JsonPropertyName("msg")] [System.Xml.Serialization.XmlElement("msg")] public string ResultMessage { get; set; } = default!; } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaExpress/AddWaybillEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaExpress/AddWaybillEvent.cs index 415d2fa6..8c734124 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaExpress/AddWaybillEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaExpress/AddWaybillEvent.cs @@ -177,7 +177,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 获取或设置是否保价。 /// [Newtonsoft.Json.JsonProperty("UseInsured")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("UseInsured")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] [System.Xml.Serialization.XmlElement("UseInsured")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportAddOrderEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportAddOrderEvent.cs index 28e8fb69..ae014073 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportAddOrderEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportAddOrderEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.transport_add_order 事件的数据。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-provider/immediateDelivery.onOrderAdd.html /// - public class TransportAddOrderEvent : TransportPreCreateOrderEvent + public class TransportAddOrderEvent : TransportPreCreateOrderEvent, WechatApiEvent.Types.IJsonSerializable { /// /// 获取或设置微信订单 Token。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportCancelOrderEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportCancelOrderEvent.cs index d3531b55..311897ae 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportCancelOrderEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportCancelOrderEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.transport_cancel_order 事件的数据。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-provider/immediateDelivery.onOrderCancel.html /// - public class TransportCancelOrderEvent : TransportPreCancelOrderEvent + public class TransportCancelOrderEvent : TransportPreCancelOrderEvent, WechatApiEvent.Types.IJsonSerializable { } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportReAddOrderEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportReAddOrderEvent.cs index d0388b7c..74ff929c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportReAddOrderEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaImmediateDelivery/TransportReAddOrderEvent.cs @@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 表示 EVENT.transport_readd_order 事件的数据。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-provider/immediateDelivery.onOrderReAdd.html /// - public class TransportReAddOrderEvent : TransportAddOrderEvent + public class TransportReAddOrderEvent : TransportAddOrderEvent, WechatApiEvent.Types.IJsonSerializable { } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaSecurity/WxaMediaCheckEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaSecurity/WxaMediaCheckEvent.cs index 5a196a60..c037a2be 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaSecurity/WxaMediaCheckEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/WxaSecurity/WxaMediaCheckEvent.cs @@ -14,7 +14,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events /// 获取或设置微信商户号。 /// [Newtonsoft.Json.JsonProperty("isrisky")] - [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] [System.Text.Json.Serialization.JsonPropertyName("isrisky")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] public bool IsRisky { get; set; }