feat(wxapi): 修改部分回调通知事件模型,已支持 JSON 格式

This commit is contained in:
Fu Diwei 2021-06-07 00:34:41 +08:00
parent 8609f89c6d
commit f688049f01
54 changed files with 398 additions and 55 deletions

View File

@ -7,23 +7,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.card_merchant_check_result 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Third-party_developer_mode.html#2 </para>
/// </summary>
public class CardMerchantCheckResultEvent : CardPassCheckEvent, WechatApiEvent.Types.IXmlSerializable
public class CardMerchantCheckResultEvent : CardPassCheckEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置子商户 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MerchantId")]
[System.Text.Json.Serialization.JsonPropertyName("MerchantId")]
[System.Xml.Serialization.XmlElement("MerchantId")]
public string MerchantId { get; set; } = default!;
/// <summary>
/// 获取或设置是否通过。
/// </summary>
[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; }
/// <summary>
/// 获取或设置驳回原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("Reason")]
[System.Text.Json.Serialization.JsonPropertyName("Reason")]
[System.Xml.Serialization.XmlElement("Reason", IsNullable = true)]
public string? RefuseReason { get; set; }
}

View File

@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.card_not_pass_check 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#1 </para>
/// </summary>
public class CardNotPassCheckEvent : CardPassCheckEvent, WechatApiEvent.Types.IXmlSerializable
public class CardNotPassCheckEvent : CardPassCheckEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置审核不通过原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("RefuseReason")]
[System.Text.Json.Serialization.JsonPropertyName("RefuseReason")]
[System.Xml.Serialization.XmlElement("RefuseReason")]
public string RefuseReason { get; set; } = default!;
}

View File

@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.card_pass_check 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#1 </para>
/// </summary>
public class CardPassCheckEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class CardPassCheckEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.card_sku_remind 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#10 </para>
/// </summary>
public class CardSKURemindEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class CardSKURemindEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置报警详细信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("Detail")]
[System.Text.Json.Serialization.JsonPropertyName("Detail")]
[System.Xml.Serialization.XmlElement("Detail")]
public string Detail { get; set; } = default!;
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.giftcard_pay_done 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class GiftCardPayDoneEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class GiftCardPayDoneEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置货架 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("PageId")]
[System.Text.Json.Serialization.JsonPropertyName("PageId")]
[System.Xml.Serialization.XmlElement("PageId")]
public string PageId { get; set; } = default!;
/// <summary>
/// 获取或设置订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")]
[System.Xml.Serialization.XmlElement("OrderId")]
public string OrderId { get; set; } = default!;
}

View File

@ -7,29 +7,39 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.giftcard_send_to_friend 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class GiftCardSendToFriendEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class GiftCardSendToFriendEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置货架 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("PageId")]
[System.Text.Json.Serialization.JsonPropertyName("PageId")]
[System.Xml.Serialization.XmlElement("PageId")]
public string PageId { get; set; } = default!;
/// <summary>
/// 获取或设置订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")]
[System.Xml.Serialization.XmlElement("OrderId")]
public string OrderId { get; set; } = default!;
/// <summary>
/// 获取或设置是否转增退回。
/// </summary>
[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; }
/// <summary>
/// 获取或设置是否是群转增。
/// </summary>
[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; }
}

View File

@ -7,23 +7,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.giftcard_user_accept 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class GiftCardUserAcceptEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class GiftCardUserAcceptEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置货架 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("PageId")]
[System.Text.Json.Serialization.JsonPropertyName("PageId")]
[System.Xml.Serialization.XmlElement("PageId")]
public string PageId { get; set; } = default!;
/// <summary>
/// 获取或设置订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")]
[System.Xml.Serialization.XmlElement("OrderId")]
public string OrderId { get; set; } = default!;
/// <summary>
/// 获取或设置是否是群转增。
/// </summary>
[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; }
}

View File

@ -7,77 +7,101 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.ORDER_STATUS_FINANCE_SUCC 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#11 </para>
/// </summary>
public class OrderStatusFinanceSuccessEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class OrderStatusFinanceSuccessEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")]
[System.Xml.Serialization.XmlElement("OrderId")]
public string OrderId { get; set; } = default!;
/// <summary>
/// 获取或设置订单类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderType")]
[System.Text.Json.Serialization.JsonPropertyName("OrderType")]
[System.Xml.Serialization.XmlElement("OrderType")]
public string OrderType { get; set; } = default!;
/// <summary>
/// 获取或设置订单状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("Status")]
[System.Text.Json.Serialization.JsonPropertyName("Status")]
[System.Xml.Serialization.XmlElement("Status")]
public string OrderStatus { get; set; } = default!;
/// <summary>
/// 获取或设置订单生成时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("CreateOrderTime")]
[System.Text.Json.Serialization.JsonPropertyName("CreateOrderTime")]
[System.Xml.Serialization.XmlElement("CreateOrderTime")]
public long OrderCreateTimestamp { get; set; }
/// <summary>
/// 获取或设置订单支付成功时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("PayFinishTime")]
[System.Text.Json.Serialization.JsonPropertyName("PayFinishTime")]
[System.Xml.Serialization.XmlElement("PayFinishTime")]
public long OrderPayTimestamp { get; set; }
/// <summary>
/// 获取或设置支付方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("Desc")]
[System.Text.Json.Serialization.JsonPropertyName("Desc")]
[System.Xml.Serialization.XmlElement("Desc", IsNullable = true)]
public string? Description { get; set; }
/// <summary>
/// 获取或设置剩余免费券点数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("FreeCoinCount")]
[System.Text.Json.Serialization.JsonPropertyName("FreeCoinCount")]
[System.Xml.Serialization.XmlElement("FreeCoinCount")]
public int FreeCoinCount { get; set; }
/// <summary>
/// 获取或设置剩余付费券点数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("PayCoinCount")]
[System.Text.Json.Serialization.JsonPropertyName("PayCoinCount")]
[System.Xml.Serialization.XmlElement("PayCoinCount")]
public int PayCoinCount { get; set; }
/// <summary>
/// 获取或设置本次变动的免费券点数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("RefundFreeCoinCount")]
[System.Text.Json.Serialization.JsonPropertyName("RefundFreeCoinCount")]
[System.Xml.Serialization.XmlElement("RefundFreeCoinCount")]
public int RefundFreeCoinCount { get; set; }
/// <summary>
/// 获取或设置本次变动的付费券点数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("RefundPayCoinCount")]
[System.Text.Json.Serialization.JsonPropertyName("RefundPayCoinCount")]
[System.Xml.Serialization.XmlElement("RefundPayCoinCount")]
public int RefundPayCoinCount { get; set; }
/// <summary>
/// 获取或设置所开收据的详情。
/// </summary>
[Newtonsoft.Json.JsonProperty("ReceiptInfo")]
[System.Text.Json.Serialization.JsonPropertyName("ReceiptInfo")]
[System.Xml.Serialization.XmlElement("ReceiptInfo", IsNullable = true)]
public string? Receipt { get; set; }
/// <summary>
/// 获取或设置系统备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("Memo")]
[System.Text.Json.Serialization.JsonPropertyName("Memo")]
[System.Xml.Serialization.XmlElement("Memo", IsNullable = true)]
public string? Remark { get; set; }
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.submit_membercard_user_info 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#12 </para>
/// </summary>
public class SubmitMemberCardUserInfoEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class SubmitMemberCardUserInfoEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
}

View File

@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.update_member_card 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#9 </para>
/// </summary>
public class UpdateMemberCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UpdateMemberCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置变动的积分值。
/// </summary>
[Newtonsoft.Json.JsonProperty("ModifyBonus")]
[System.Text.Json.Serialization.JsonPropertyName("ModifyBonus")]
[System.Xml.Serialization.XmlElement("ModifyBonus", IsNullable = true)]
public int? ModifiedBonus { get; set; }
/// <summary>
/// 获取或设置变动的余额值(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ModifyBalance")]
[System.Text.Json.Serialization.JsonPropertyName("ModifyBalance")]
[System.Xml.Serialization.XmlElement("ModifyBalance", IsNullable = true)]
public int? ModifiedBalance { get; set; }
}

View File

@ -7,65 +7,85 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.user_consume_card 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#5 </para>
/// </summary>
public class UserConsumeCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserConsumeCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置核销来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("ConsumeSource")]
[System.Text.Json.Serialization.JsonPropertyName("ConsumeSource")]
[System.Xml.Serialization.XmlElement("ConsumeSource")]
public string ConsumeSource { get; set; } = default!;
/// <summary>
/// 获取或设置门店 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("LocationId")]
[System.Text.Json.Serialization.JsonPropertyName("LocationId")]
[System.Xml.Serialization.XmlElement("LocationId", IsNullable = true)]
public long? POIId { get; set; }
/// <summary>
/// 获取或设置门店名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("LocationName")]
[System.Text.Json.Serialization.JsonPropertyName("LocationName")]
[System.Xml.Serialization.XmlElement("LocationName", IsNullable = true)]
public string? POIName { get; set; }
/// <summary>
/// 获取或设置核销员的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("StaffOpenId")]
[System.Text.Json.Serialization.JsonPropertyName("StaffOpenId")]
[System.Xml.Serialization.XmlElement("StaffOpenId", IsNullable = true)]
public string? StaffOpenId { get; set; }
/// <summary>
/// 获取或设置自助核销时用户输入的验证码。
/// </summary>
[Newtonsoft.Json.JsonProperty("VerifyCode")]
[System.Text.Json.Serialization.JsonPropertyName("VerifyCode")]
[System.Xml.Serialization.XmlElement("VerifyCode", IsNullable = true)]
public string? VerifyCode { get; set; }
/// <summary>
/// 获取或设置自助核销时用户输入的备注金额。
/// </summary>
[Newtonsoft.Json.JsonProperty("RemarkAmount")]
[System.Text.Json.Serialization.JsonPropertyName("RemarkAmount")]
[System.Xml.Serialization.XmlElement("RemarkAmount", IsNullable = true)]
public string? RemarkAmount { get; set; }
/// <summary>
/// 获取或设置商户自定义数值。
/// </summary>
[Newtonsoft.Json.JsonProperty("OuterId")]
[System.Text.Json.Serialization.JsonPropertyName("OuterId")]
[System.Xml.Serialization.XmlElement("OuterId", IsNullable = true)]
public string? OuterId { get; set; }
/// <summary>
/// 获取或设置商户自定义字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("OuterStr")]
[System.Text.Json.Serialization.JsonPropertyName("OuterStr")]
[System.Xml.Serialization.XmlElement("OuterStr", IsNullable = true)]
public string? OuterString { get; set; }
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.user_del_card 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#4 </para>
/// </summary>
public class UserDeleteCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserDeleteCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.user_enter_session_from_card 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#8 </para>
/// </summary>
public class UserEnterSessionFromCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserEnterSessionFromCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
}

View File

@ -10,65 +10,88 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Membership_Cards/Create_a_membership_card.html#13 </para>
/// <para>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 </para>
/// </summary>
public class UserGetCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserGetCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置转赠前的卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("OldUserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("OldUserCardCode")]
[System.Xml.Serialization.XmlElement("OldUserCardCode", IsNullable = true)]
public string? OldCardCode { get; set; }
/// <summary>
/// 获取或设置领券用户的 UnionId。
/// </summary>
[Newtonsoft.Json.JsonProperty("UnionId")]
[System.Text.Json.Serialization.JsonPropertyName("UnionId")]
[System.Xml.Serialization.XmlElement("UnionId", IsNullable = true)]
public string? UnionId { get; set; } = default!;
/// <summary>
/// 获取或设置是否来自好友转增。
/// </summary>
[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; }
/// <summary>
/// 获取或设置转赠用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("FriendUserName")]
[System.Text.Json.Serialization.JsonPropertyName("FriendUserName")]
[System.Xml.Serialization.XmlElement("FriendUserName", IsNullable = true)]
public string? FriendOpenId { get; set; }
/// <summary>
/// 获取或设置是否是找回会员卡。
/// </summary>
[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; }
/// <summary>
/// 获取或设置是否是来自好友推荐。
/// </summary>
[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; }
/// <summary>
/// 获取或设置商户自定义数值。
/// </summary>
[Newtonsoft.Json.JsonProperty("OuterId")]
[System.Text.Json.Serialization.JsonPropertyName("OuterId")]
[System.Xml.Serialization.XmlElement("OuterId", IsNullable = true)]
public string? OuterId { get; set; }
/// <summary>
/// 获取或设置商户自定义字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("OuterId")]
[System.Text.Json.Serialization.JsonPropertyName("OuterId")]
[System.Xml.Serialization.XmlElement("OuterStr", IsNullable = true)]
public string? OuterString { get; set; }
}

View File

@ -7,35 +7,47 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.user_gifting_card 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#3 </para>
/// </summary>
public class UserGiftingCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserGiftingCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置接收卡券用户的 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("FriendUserName")]
[System.Text.Json.Serialization.JsonPropertyName("FriendUserName")]
[System.Xml.Serialization.XmlElement("FriendUserName")]
public string FriendOpenId { get; set; } = default!;
/// <summary>
/// 获取或设置是否转增退回。
/// </summary>
[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; }
/// <summary>
/// 获取或设置是否是群转增。
/// </summary>
[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; }
}

View File

@ -8,47 +8,61 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Create_a_Coupon_Voucher_or_Card.html#13 </para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#6 </para>
/// </summary>
public class UserPayFromPayCellEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserPayFromPayCellEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置微信支付交易订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("TransId")]
[System.Text.Json.Serialization.JsonPropertyName("TransId")]
[System.Xml.Serialization.XmlElement("TransId", IsNullable = true)]
public string? TransactionId { get; set; }
/// <summary>
/// 获取或设置门店 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("LocationId")]
[System.Text.Json.Serialization.JsonPropertyName("LocationId")]
[System.Xml.Serialization.XmlElement("LocationId", IsNullable = true)]
public long? POIId { get; set; }
/// <summary>
/// 获取或设置门店名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("LocationName")]
[System.Text.Json.Serialization.JsonPropertyName("LocationName")]
[System.Xml.Serialization.XmlElement("LocationName", IsNullable = true)]
public string? POIName { get; set; }
/// <summary>
/// 获取或设置实付金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("Fee")]
[System.Text.Json.Serialization.JsonPropertyName("Fee")]
[System.Xml.Serialization.XmlElement("Fee")]
public int Fee { get; set; }
/// <summary>
/// 获取或设置应付金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("OriginalFee")]
[System.Text.Json.Serialization.JsonPropertyName("OriginalFee")]
[System.Xml.Serialization.XmlElement("OriginalFee")]
public int OriginalFee { get; set; }
}

View File

@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.user_view_card 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Coupons_Vouchers_and_Cards_Event_Push_Messages.html#7 </para>
/// </summary>
public class UserViewCardEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserViewCardEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserCardCode")]
[System.Text.Json.Serialization.JsonPropertyName("UserCardCode")]
[System.Xml.Serialization.XmlElement("UserCardCode")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置商户自定义数值。
/// </summary>
[Newtonsoft.Json.JsonProperty("OuterId")]
[System.Text.Json.Serialization.JsonPropertyName("OuterId")]
[System.Xml.Serialization.XmlElement("OuterId", IsNullable = true)]
public string? OuterId { get; set; }
/// <summary>
/// 获取或设置商户自定义字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("OuterStr")]
[System.Text.Json.Serialization.JsonPropertyName("OuterStr")]
[System.Xml.Serialization.XmlElement("OuterStr", IsNullable = true)]
public string? OuterString { get; set; }
}

View File

@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.cloud_invoice_invoiceresult_event 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Vendor_API_List.html#19 </para>
/// </summary>
public class CloudInvoiceResultEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class CloudInvoiceResultEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置开票状态码。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
[System.Xml.Serialization.XmlElement("status")]
public int StatusCode { get; set; }
/// <summary>
/// 获取或设置发票请求流水号。
/// </summary>
[Newtonsoft.Json.JsonProperty("fpqqlsh")]
[System.Text.Json.Serialization.JsonPropertyName("fpqqlsh")]
[System.Xml.Serialization.XmlElement("fpqqlsh")]
public string InvoiceSerialNumber { get; set; } = default!;
/// <summary>
/// 获取或设置纳税人识别码。
/// </summary>
[Newtonsoft.Json.JsonProperty("nsrsbh")]
[System.Text.Json.Serialization.JsonPropertyName("nsrsbh")]
[System.Xml.Serialization.XmlElement("nsrsbh")]
public string SellerTaxNumber { get; set; } = default!;
}

View File

@ -7,53 +7,69 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.submit_invoice_title 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Quick_issuing/Interface_Instructions.html </para>
/// </summary>
public class SubmitInvoiceTitleEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class SubmitInvoiceTitleEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置发票抬头类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("title_type")]
[System.Text.Json.Serialization.JsonPropertyName("title_type")]
[System.Xml.Serialization.XmlElement("title_type")]
public string TitleType { get; set; } = default!;
/// <summary>
/// 获取或设置发票抬头。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
[System.Xml.Serialization.XmlElement("title")]
public string Title { get; set; } = default!;
/// <summary>
/// 获取或设置税号。
/// </summary>
[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; }
/// <summary>
/// 获取或设置联系电话。
/// </summary>
[Newtonsoft.Json.JsonProperty("phone")]
[System.Text.Json.Serialization.JsonPropertyName("phone")]
[System.Xml.Serialization.XmlElement("phone", IsNullable = true)]
public string? PhoneNumber { get; set; }
/// <summary>
/// 获取或设置联系地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("addr")]
[System.Text.Json.Serialization.JsonPropertyName("addr")]
[System.Xml.Serialization.XmlElement("addr", IsNullable = true)]
public string? Address { get; set; }
/// <summary>
/// 获取或设置开户行。
/// </summary>
[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; }
/// <summary>
/// 获取或设置银行账号。
/// </summary>
[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; }
/// <summary>
/// 获取或设置附加信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("attach")]
[System.Text.Json.Serialization.JsonPropertyName("attach")]
[System.Xml.Serialization.XmlElement("attach", IsNullable = true)]
public string? Attachment { get; set; }
}

View File

@ -8,23 +8,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Invoicing_Platform_API_List.html#7 </para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Nontax_Bill/API_list.html#3.6 </para>
/// </summary>
public class UpdateInvoiceStatusEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UpdateInvoiceStatusEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置发票或非税票据卡券模板编号。
/// </summary>
[Newtonsoft.Json.JsonProperty("CardId")]
[System.Text.Json.Serialization.JsonPropertyName("CardId")]
[System.Xml.Serialization.XmlElement("CardId")]
public string CardId { get; set; } = default!;
/// <summary>
/// 获取或设置发票或非税票据卡券 Code。
/// </summary>
[Newtonsoft.Json.JsonProperty("Code")]
[System.Text.Json.Serialization.JsonPropertyName("Code")]
[System.Xml.Serialization.XmlElement("Code")]
public string CardCode { get; set; } = default!;
/// <summary>
/// 获取或设置发票或非税票据报销状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("Status")]
[System.Text.Json.Serialization.JsonPropertyName("Status")]
[System.Xml.Serialization.XmlElement("Status", IsNullable = true)]
public string? ReimburseStatus { get; set; }
}

View File

@ -9,23 +9,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/E_Invoice/Vendor_API_List.html#6 </para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Invoice/Nontax_Bill/API_list.html#2.3 </para>
/// </summary>
public class UserAuthorizeInvoiceEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class UserAuthorizeInvoiceEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置授权成功的订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("SuccOrderId")]
[System.Text.Json.Serialization.JsonPropertyName("SuccOrderId")]
[System.Xml.Serialization.XmlElement("SuccOrderId", IsNullable = true)]
public string? SuccessOrderId { get; set; }
/// <summary>
/// 获取或设置授权失败的订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("FailOrderId")]
[System.Text.Json.Serialization.JsonPropertyName("FailOrderId")]
[System.Xml.Serialization.XmlElement("FailOrderId", IsNullable = true)]
public string? FailOrderId { get; set; }
/// <summary>
/// 获取或设置授权来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("Source")]
[System.Text.Json.Serialization.JsonPropertyName("Source")]
[System.Xml.Serialization.XmlElement("Source")]
public string Source { get; set; } = default!;
}

View File

@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.merchant_order 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Stores/WeChat_Store_Interface.html#8 </para>
/// </summary>
public class MerchantOrderEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class MerchantOrderEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置订单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")]
[System.Xml.Serialization.XmlElement("OrderId")]
public string OrderId { get; set; } = default!;
/// <summary>
/// 获取或设置订单状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("OrderStatus")]
[System.Text.Json.Serialization.JsonPropertyName("OrderStatus")]
[System.Xml.Serialization.XmlElement("OrderStatus")]
public int OrderStatus { get; set; }
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("ProductId")]
[System.Text.Json.Serialization.JsonPropertyName("ProductId")]
[System.Xml.Serialization.XmlElement("ProductId")]
public string ProductId { get; set; } = default!;
/// <summary>
/// 获取或设置 SKU 信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("SkuInfo")]
[System.Text.Json.Serialization.JsonPropertyName("SkuInfo")]
[System.Xml.Serialization.XmlElement("SkuInfo")]
public string SKUInformation { get; set; } = default!;
}

View File

@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.annual_renew 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#4 </para>
/// </summary>
public class AnnualRenewEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class AnnualRenewEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置过期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("ExpiredTime")]
[System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")]
[System.Xml.Serialization.XmlElement("ExpiredTime")]
public long ExpireTimestamp { get; set; }
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.naming_verify_fail 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#3 </para>
/// </summary>
public class NamingVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class NamingVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置失败时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("FailTime")]
[System.Text.Json.Serialization.JsonPropertyName("FailTime")]
[System.Xml.Serialization.XmlElement("FailTime")]
public long FailTimestamp { get; set; }
/// <summary>
/// 获取或设置失败原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("FailReason")]
[System.Text.Json.Serialization.JsonPropertyName("FailReason")]
[System.Xml.Serialization.XmlElement("FailReason")]
public string FailReason { get; set; } = default!;
}

View File

@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.naming_verify_success 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#2 </para>
/// </summary>
public class NamingVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class NamingVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置过期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("ExpiredTime")]
[System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")]
[System.Xml.Serialization.XmlElement("ExpiredTime")]
public long ExpireTimestamp { get; set; }
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.qualification_verify_fail 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#1 </para>
/// </summary>
public class QualificationVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class QualificationVerifyFailEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置失败时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("FailTime")]
[System.Text.Json.Serialization.JsonPropertyName("FailTime")]
[System.Xml.Serialization.XmlElement("FailTime")]
public long FailTimestamp { get; set; }
/// <summary>
/// 获取或设置失败原因。
/// </summary>
[Newtonsoft.Json.JsonProperty("FailReason")]
[System.Text.Json.Serialization.JsonPropertyName("FailReason")]
[System.Xml.Serialization.XmlElement("FailReason")]
public string FailReason { get; set; } = default!;
}

View File

@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.qualification_verify_success 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#0 </para>
/// </summary>
public class QualificationVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class QualificationVerifySuccessEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置过期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("ExpiredTime")]
[System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")]
[System.Xml.Serialization.XmlElement("ExpiredTime")]
public long ExpireTimestamp { get; set; }
}

View File

@ -7,11 +7,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.verify_expired 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Wechat_Accreditation_Event_Push.html#5 </para>
/// </summary>
public class VerifyExpiredEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class VerifyExpiredEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置过期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("ExpiredTime")]
[System.Text.Json.Serialization.JsonPropertyName("ExpiredTime")]
[System.Xml.Serialization.XmlElement("ExpiredTime")]
public long ExpireTimestamp { get; set; }
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.guide_qrcode_scan_event 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Shopping_Guide/guide-account/shopping-guide.onGuideCreateQrCode.html </para>
/// </summary>
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
/// <summary>
/// 获取或设置顾问微信号。
/// </summary>
[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!;
/// <summary>
/// 获取或设置顾问 OpenId。
/// </summary>
[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; }
/// <summary>
/// 获取或设置扫码用户 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("openid")]
[System.Text.Json.Serialization.JsonPropertyName("openid")]
[System.Xml.Serialization.XmlElement("openid")]
public string BuyerOpenId { get; set; } = default!;
/// <summary>
/// 获取或设置扫码类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("action")]
[System.Text.Json.Serialization.JsonPropertyName("action")]
[System.Xml.Serialization.XmlElement("action")]
public int Action { get; set; }
/// <summary>
/// 获取或设置生成二维码时的扩展信息。
/// </summary>
[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
/// <summary>
/// 获取或设置事件数据。
/// </summary>
[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!;
}
}

View File

@ -7,41 +7,53 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.MASSSENDJOBFINISH 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Batch_Sends_and_Originality_Checks.html#7 </para>
/// </summary>
public class MassSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class MassSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgID")]
[System.Text.Json.Serialization.JsonPropertyName("MsgID")]
[System.Xml.Serialization.XmlElement("MsgID")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置发送状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("Status")]
[System.Text.Json.Serialization.JsonPropertyName("Status")]
[System.Xml.Serialization.XmlElement("Status")]
public string Status { get; set; } = default!;
/// <summary>
/// 获取或设置总人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("TotalCount")]
[System.Text.Json.Serialization.JsonPropertyName("TotalCount")]
[System.Xml.Serialization.XmlElement("TotalCount")]
public int TotalCount { get; set; }
/// <summary>
/// 获取或设置过滤人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("FilterCount")]
[System.Text.Json.Serialization.JsonPropertyName("FilterCount")]
[System.Xml.Serialization.XmlElement("FilterCount")]
public int FilterCount { get; set; }
/// <summary>
/// 获取或设置发送成功人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("SentCount")]
[System.Text.Json.Serialization.JsonPropertyName("SentCount")]
[System.Xml.Serialization.XmlElement("SentCount")]
public int SentCount { get; set; }
/// <summary>
/// 获取或设置发送失败人数。
/// </summary>
[Newtonsoft.Json.JsonProperty("ErrorCount")]
[System.Text.Json.Serialization.JsonPropertyName("ErrorCount")]
[System.Xml.Serialization.XmlElement("ErrorCount")]
public int ErrorCount { get; set; }
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.TEMPLATESENDJOBFINISH 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class TemplateSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class TemplateSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgId")]
[System.Text.Json.Serialization.JsonPropertyName("MsgId")]
[System.Xml.Serialization.XmlElement("MsgID")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置发送状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("Status")]
[System.Text.Json.Serialization.JsonPropertyName("Status")]
[System.Xml.Serialization.XmlElement("Status")]
public string Status { get; set; } = default!;
}

View File

@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 IMAGE 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class ImageMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class ImageMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgId")]
[System.Text.Json.Serialization.JsonPropertyName("MsgId")]
[System.Xml.Serialization.XmlElement("MsgId")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置图片 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("PicUrl")]
[System.Text.Json.Serialization.JsonPropertyName("PicUrl")]
[System.Xml.Serialization.XmlElement("PicUrl")]
public string PictureUrl { get; set; } = default!;
/// <summary>
/// 获取或设置图片消息 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("MediaId")]
[System.Text.Json.Serialization.JsonPropertyName("MediaId")]
[System.Xml.Serialization.XmlElement("MediaId")]
public string MediaId { get; set; } = default!;
}

View File

@ -7,35 +7,45 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 LOCATION 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class LocationMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class LocationMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgId")]
[System.Text.Json.Serialization.JsonPropertyName("MsgId")]
[System.Xml.Serialization.XmlElement("MsgId")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置纬度坐标。
/// </summary>
[Newtonsoft.Json.JsonProperty("Location_X")]
[System.Text.Json.Serialization.JsonPropertyName("Location_X")]
[System.Xml.Serialization.XmlElement("Location_X")]
public double Latitude { get; set; }
/// <summary>
/// 获取或设置经度坐标。
/// </summary>
[Newtonsoft.Json.JsonProperty("Location_Y")]
[System.Text.Json.Serialization.JsonPropertyName("Location_Y")]
[System.Xml.Serialization.XmlElement("Location_Y")]
public double Longitude { get; set; }
/// <summary>
/// 获取或设置地图缩放大小。
/// </summary>
[Newtonsoft.Json.JsonProperty("Scale")]
[System.Text.Json.Serialization.JsonPropertyName("Scale")]
[System.Xml.Serialization.XmlElement("Scale")]
public double Scale { get; set; }
/// <summary>
/// 获取或设置地理位置信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("Label")]
[System.Text.Json.Serialization.JsonPropertyName("Label")]
[System.Xml.Serialization.XmlElement("Label")]
public string Label { get; set; } = default!;
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 SHORTVIDEO 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class ShortVideoMessageEvent : VideoMessageEvent, WechatApiEvent.Types.IXmlSerializable
public class ShortVideoMessageEvent : VideoMessageEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
}
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 TEXT 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class TextMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class TextMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgId")]
[System.Text.Json.Serialization.JsonPropertyName("MsgId")]
[System.Xml.Serialization.XmlElement("MsgId")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置消息内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("Content")]
[System.Text.Json.Serialization.JsonPropertyName("Content")]
[System.Xml.Serialization.XmlElement("Content")]
public string Content { get; set; } = default!;
}

View File

@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 VIDEO 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class VideoMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class VideoMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgId")]
[System.Text.Json.Serialization.JsonPropertyName("MsgId")]
[System.Xml.Serialization.XmlElement("MsgId")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置视频消息 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("MediaId")]
[System.Text.Json.Serialization.JsonPropertyName("MediaId")]
[System.Xml.Serialization.XmlElement("MediaId")]
public string MediaId { get; set; } = default!;
/// <summary>
/// 获取或设置视频消息缩略图 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("ThumbMediaId")]
[System.Text.Json.Serialization.JsonPropertyName("ThumbMediaId")]
[System.Xml.Serialization.XmlElement("ThumbMediaId")]
public string ThumbnailMediaId { get; set; } = default!;
}

View File

@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 VOICE 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class VoiceMessageEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class VoiceMessageEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgId")]
[System.Text.Json.Serialization.JsonPropertyName("MsgId")]
[System.Xml.Serialization.XmlElement("MsgId")]
public long MessageId { get; set; }
/// <summary>
/// 获取或设置语音格式。
/// </summary>
[Newtonsoft.Json.JsonProperty("Format")]
[System.Text.Json.Serialization.JsonPropertyName("Format")]
[System.Xml.Serialization.XmlElement("Format")]
public string Format { get; set; } = default!;
/// <summary>
/// 获取或设置语音消息 MediaId。
/// </summary>
[Newtonsoft.Json.JsonProperty("MediaId")]
[System.Text.Json.Serialization.JsonPropertyName("MediaId")]
[System.Xml.Serialization.XmlElement("MediaId")]
public string MediaId { get; set; } = default!;
}

View File

@ -8,11 +8,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>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 </para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#0 </para>
/// </summary>
public class ClickPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class ClickPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置事件 Key即自定义菜单接口中的 Key 值。
/// </summary>
[Newtonsoft.Json.JsonProperty("EventKey")]
[System.Text.Json.Serialization.JsonPropertyName("EventKey")]
[System.Xml.Serialization.XmlElement("EventKey")]
public string EventKey { get; set; } = default!;
}

View File

@ -7,23 +7,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.LOCATION 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class LocationPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class LocationPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置地理位置纬度。
/// </summary>
[Newtonsoft.Json.JsonProperty("Latitude")]
[System.Text.Json.Serialization.JsonPropertyName("Latitude")]
[System.Xml.Serialization.XmlElement("Latitude")]
public double Latitude { get; set; }
/// <summary>
/// 获取或设置地理位置经度。
/// </summary>
[Newtonsoft.Json.JsonProperty("Longitude")]
[System.Text.Json.Serialization.JsonPropertyName("Longitude")]
[System.Xml.Serialization.XmlElement("Longitude")]
public double Longitude { get; set; }
/// <summary>
/// 获取或设置地理位置精度。
/// </summary>
[Newtonsoft.Json.JsonProperty("Precision")]
[System.Text.Json.Serialization.JsonPropertyName("Precision")]
[System.Xml.Serialization.XmlElement("Precision")]
public double Precision { get; set; }
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.scancode_push 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#2 </para>
/// </summary>
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
/// <summary>
/// 获取或设置扫描类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("ScanType")]
[System.Text.Json.Serialization.JsonPropertyName("ScanType")]
[System.Xml.Serialization.XmlElement("ScanType")]
public string ScanType { get; set; } = default!;
/// <summary>
/// 获取或设置扫描结果。
/// </summary>
[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
/// <summary>
/// 获取或设置事件 Key即自定义菜单接口中的 Key 值。
/// </summary>
[Newtonsoft.Json.JsonProperty("EventKey")]
[System.Text.Json.Serialization.JsonPropertyName("EventKey")]
[System.Xml.Serialization.XmlElement("EventKey")]
public string EventKey { get; set; } = default!;
/// <summary>
/// 获取或设置扫描信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("ScanCodeInfo")]
[System.Text.Json.Serialization.JsonPropertyName("ScanCodeInfo")]
[System.Xml.Serialization.XmlElement("ScanCodeInfo")]
public Types.ScanCode ScanCode { get; set; } = default!;
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.SCAN 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class ScanPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class ScanPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置事件 Key即创建二维码时的 SceneId。
/// </summary>
[Newtonsoft.Json.JsonProperty("EventKey")]
[System.Text.Json.Serialization.JsonPropertyName("EventKey")]
[System.Xml.Serialization.XmlElement("EventKey")]
public string EventKey { get; set; } = default!;
/// <summary>
/// 获取或设置二维码的 Ticket。
/// </summary>
[Newtonsoft.Json.JsonProperty("Ticket")]
[System.Text.Json.Serialization.JsonPropertyName("Ticket")]
[System.Xml.Serialization.XmlElement("Ticket")]
public string Ticket { get; set; } = default!;
}

View File

@ -8,17 +8,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>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 </para>
/// <para>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 </para>
/// </summary>
public class SubscribePushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class SubscribePushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置事件 Key即创建二维码时的 SceneId。
/// </summary>
[Newtonsoft.Json.JsonProperty("EventKey")]
[System.Text.Json.Serialization.JsonPropertyName("EventKey")]
[System.Xml.Serialization.XmlElement("EventKey", IsNullable = true)]
public string? EventKey { get; set; }
/// <summary>
/// 获取或设置二维码的 Ticket。
/// </summary>
[Newtonsoft.Json.JsonProperty("Ticket")]
[System.Text.Json.Serialization.JsonPropertyName("Ticket")]
[System.Xml.Serialization.XmlElement("Ticket", IsNullable = true)]
public string? Ticket { get; set; }
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.unsubscribe 事件的数据。</para>
/// <para>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 </para>
/// </summary>
public class UnsubscribePushEvent : SubscribePushEvent, WechatApiEvent.Types.IXmlSerializable
public class UnsubscribePushEvent : SubscribePushEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
}
}

View File

@ -7,17 +7,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.view_miniprogram 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#8 </para>
/// </summary>
public class ViewMiniProgramPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class ViewMiniProgramPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置个性化菜单 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MenuId")]
[System.Text.Json.Serialization.JsonPropertyName("MenuId")]
[System.Xml.Serialization.XmlElement("MenuId", IsNullable = true)]
public string? MenuId { get; set; }
/// <summary>
/// 获取或设置事件 Key即跳转的小程序路径。
/// </summary>
[Newtonsoft.Json.JsonProperty("EventKey")]
[System.Text.Json.Serialization.JsonPropertyName("EventKey")]
[System.Xml.Serialization.XmlElement("EventKey")]
public string EventKey { get; set; } = default!;
}

View File

@ -8,17 +8,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>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 </para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Custom_Menus/Custom_Menu_Push_Events.html#1 </para>
/// </summary>
public class ViewPushEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class ViewPushEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置个性化菜单 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MenuId")]
[System.Text.Json.Serialization.JsonPropertyName("MenuId")]
[System.Xml.Serialization.XmlElement("MenuId", IsNullable = true)]
public string? MenuId { get; set; }
/// <summary>
/// 获取或设置事件 Key即跳转的 URL。
/// </summary>
[Newtonsoft.Json.JsonProperty("EventKey")]
[System.Text.Json.Serialization.JsonPropertyName("EventKey")]
[System.Xml.Serialization.XmlElement("EventKey")]
public string EventKey { get; set; } = default!;
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.subscribe_msg_change_event 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Subscription_Messages/api.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 </para>
/// </summary>
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
/// <summary>
/// 获取或设置订阅消息模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("TemplateId")]
[System.Text.Json.Serialization.JsonPropertyName("TemplateId")]
[System.Xml.Serialization.XmlElement("TemplateId")]
public string TemplateId { get; set; } = default!;
/// <summary>
/// 获取或设置用户点击行为。
/// </summary>
[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
/// <summary>
/// 获取或设置用户管理订阅通知数据列表。
/// </summary>
[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
/// <summary>
/// 获取或设置事件数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("SubscribeMsgChangeEvent")]
[System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgChangeEvent")]
[System.Xml.Serialization.XmlElement("SubscribeMsgChangeEvent")]
public Types.Data EventData { get; set; } = default!;
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.subscribe_msg_popup_event 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Subscription_Messages/api.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 </para>
/// </summary>
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
/// <summary>
/// 获取或设置订阅消息模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("TemplateId")]
[System.Text.Json.Serialization.JsonPropertyName("TemplateId")]
[System.Xml.Serialization.XmlElement("TemplateId")]
public string TemplateId { get; set; } = default!;
/// <summary>
/// 获取或设置用户点击行为。
/// </summary>
[Newtonsoft.Json.JsonProperty("SubscribeStatusString")]
[System.Text.Json.Serialization.JsonPropertyName("SubscribeStatusString")]
[System.Xml.Serialization.XmlElement("SubscribeStatusString")]
public string SubscribeStatus { get; set; } = default!;
/// <summary>
/// 获取或设置场景。
/// </summary>
[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
/// <summary>
/// 获取或设置用户订阅通知弹窗数据列表。
/// </summary>
[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
/// <summary>
/// 获取或设置事件数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("SubscribeMsgPopupEvent")]
[System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgPopupEvent")]
[System.Xml.Serialization.XmlElement("SubscribeMsgPopupEvent")]
public Types.Data EventData { get; set; } = default!;
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.subscribe_msg_sent_event 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/Subscription_Messages/api.html#%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81 </para>
/// </summary>
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
/// <summary>
/// 获取或设置订阅消息模板 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("TemplateId")]
[System.Text.Json.Serialization.JsonPropertyName("TemplateId")]
[System.Xml.Serialization.XmlElement("TemplateId")]
public string TemplateId { get; set; } = default!;
/// <summary>
/// 获取或设置消息 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("MsgID")]
[System.Text.Json.Serialization.JsonPropertyName("MsgID")]
[System.Xml.Serialization.XmlElement("MsgID")]
public long? MessageId { get; set; }
/// <summary>
/// 获取或设置推送结果状态码。
/// </summary>
[Newtonsoft.Json.JsonProperty("ErrorCode")]
[System.Text.Json.Serialization.JsonPropertyName("ErrorCode")]
[System.Xml.Serialization.XmlElement("ErrorCode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置推送结果状态含义。
/// </summary>
[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
/// <summary>
/// 获取或设置发送订阅通知数据列表。
/// </summary>
[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
/// <summary>
/// 获取或设置事件数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("SubscribeMsgSentEvent")]
[System.Text.Json.Serialization.JsonPropertyName("SubscribeMsgSentEvent")]
[System.Xml.Serialization.XmlElement("SubscribeMsgSentEvent")]
public Types.Data EventData { get; set; } = default!;
}

View File

@ -7,29 +7,37 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.poi_check_notify 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/doc/offiaccount/WeChat_Stores/WeChat_Store_Interface.html#8 </para>
/// </summary>
public class POICheckNotifyEvent : WechatApiEvent, WechatApiEvent.Types.IXmlSerializable
public class POICheckNotifyEvent : WechatApiEvent, WechatApiEvent.Types.IJsonSerializable, WechatApiEvent.Types.IXmlSerializable
{
/// <summary>
/// 获取或设置商户门店 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("UniqId")]
[System.Text.Json.Serialization.JsonPropertyName("UniqId")]
[System.Xml.Serialization.XmlElement("UniqId")]
public string? SID { get; set; }
/// <summary>
/// 获取或设置门店 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("PoiId")]
[System.Text.Json.Serialization.JsonPropertyName("PoiId")]
[System.Xml.Serialization.XmlElement("PoiId")]
public string POIId { get; set; } = default!;
/// <summary>
/// 获取或设置审核结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("Result")]
[System.Text.Json.Serialization.JsonPropertyName("Result")]
[System.Xml.Serialization.XmlElement("Result")]
public string Result { get; set; } = default!;
/// <summary>
/// 获取或设置审核信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("msg")]
[System.Text.Json.Serialization.JsonPropertyName("msg")]
[System.Xml.Serialization.XmlElement("msg")]
public string ResultMessage { get; set; } = default!;
}

View File

@ -177,7 +177,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// 获取或设置是否保价。
/// </summary>
[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")]

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.transport_add_order 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-provider/immediateDelivery.onOrderAdd.html </para>
/// </summary>
public class TransportAddOrderEvent : TransportPreCreateOrderEvent
public class TransportAddOrderEvent : TransportPreCreateOrderEvent, WechatApiEvent.Types.IJsonSerializable
{
/// <summary>
/// 获取或设置微信订单 Token。

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.transport_cancel_order 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-provider/immediateDelivery.onOrderCancel.html </para>
/// </summary>
public class TransportCancelOrderEvent : TransportPreCancelOrderEvent
public class TransportCancelOrderEvent : TransportPreCancelOrderEvent, WechatApiEvent.Types.IJsonSerializable
{
}
}

View File

@ -7,7 +7,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <para>表示 EVENT.transport_readd_order 事件的数据。</para>
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-provider/immediateDelivery.onOrderReAdd.html </para>
/// </summary>
public class TransportReAddOrderEvent : TransportAddOrderEvent
public class TransportReAddOrderEvent : TransportAddOrderEvent, WechatApiEvent.Types.IJsonSerializable
{
}
}

View File

@ -14,7 +14,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// 获取或设置微信商户号。
/// </summary>
[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; }