Skip to content

Commit cb11bf4

Browse files
authored
Merge pull request #3097 from JeffreySu/Developer
Developer
2 parents 014ddf2 + d733760 commit cb11bf4

File tree

12 files changed

+598
-287
lines changed

12 files changed

+598
-287
lines changed

src/Senparc.Weixin.Work/Senparc.Weixin.Work/Entities/Request/Event/RequestMessageEvent_TemplateCardClick.cs

Lines changed: 0 additions & 33 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
/*----------------------------------------------------------------
2+
Copyright (C) 2024 Senparc
3+
4+
文件名:RequestMessageEvent_TemplateCardEvent.cs
5+
文件功能描述:企业微信-模板卡片事件推送
6+
7+
8+
创建标识:IcedMango - 20241114
9+
10+
----------------------------------------------------------------*/
11+
12+
using System.Collections.Generic;
13+
using System.Xml.Serialization;
14+
15+
namespace Senparc.Weixin.Work.Entities
16+
{
17+
/// <summary>
18+
/// 企业微信-模板卡片事件推送
19+
/// </summary>
20+
public class RequestMessageEvent_TemplateCardEvent : RequestMessageEventBase, IRequestMessageEventBase, IRequestMessageEventKey
21+
{
22+
/// <summary>
23+
/// 事件类型(template_card_event,点击模板卡片按钮)
24+
/// </summary>
25+
public override Event Event => Event.TEMPLATE_CARD_EVENT;
26+
27+
/// <summary>
28+
/// 与发送模板卡片消息时指定的按钮btn:key值相同
29+
/// </summary>
30+
public string EventKey { get; set; }
31+
32+
/// <summary>
33+
/// 与发送模板卡片消息时指定的task_id相同
34+
/// </summary>
35+
public string TaskId { get; set; }
36+
37+
/// <summary>
38+
/// 通用模板卡片的类型
39+
/// </summary>
40+
public TemplateCard_CardTypeEnum CardType { get; set; }
41+
42+
/// <summary>
43+
/// 用于调用更新卡片接口的ResponseCode,72小时内有效,且只能使用一次
44+
/// </summary>
45+
public string ResponseCode { get; set; }
46+
47+
/// <summary>
48+
///
49+
/// </summary>
50+
[XmlArray("SelectedItems")]
51+
[XmlArrayItem("SelectedItem")]
52+
public List<TemplateCard_SelectedItem> SelectedItems { get; set; }
53+
}
54+
55+
/// <summary>
56+
/// 通用模板卡片的类型
57+
/// </summary>
58+
public enum TemplateCard_CardTypeEnum
59+
{
60+
text_notice,
61+
news_notice,
62+
button_interaction,
63+
vote_interaction,
64+
multiple_interaction
65+
}
66+
67+
public class TemplateCard_SelectedItem
68+
{
69+
/// <summary>
70+
/// 问题的key值
71+
/// </summary>
72+
[XmlElement("QuestionKey")]
73+
public string QuestionKey { get; set; }
74+
75+
[XmlArray("OptionIds")]
76+
[XmlArrayItem("OptionId")]
77+
public List<string> OptionIds { get; set; }
78+
}
79+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*----------------------------------------------------------------
2+
Copyright (C) 2024 Senparc
3+
4+
文件名:RequestMessageEvent_TemplateCardMenuEvent.cs
5+
文件功能描述:通用模板卡片右上角菜单事件推送
6+
7+
8+
创建标识:IcedMango - 20241114
9+
10+
----------------------------------------------------------------*/
11+
12+
using System.Collections.Generic;
13+
using System.Xml.Serialization;
14+
15+
namespace Senparc.Weixin.Work.Entities
16+
{
17+
/// <summary>
18+
/// 企业微信-模板卡片事件推送
19+
/// </summary>
20+
public class RequestMessageEvent_TemplateCardMenuEvent : RequestMessageEventBase, IRequestMessageEventBase, IRequestMessageEventKey
21+
{
22+
/// <summary>
23+
/// 事件类型(template_card_menu_event,通用模板卡片右上角菜单事件推送)
24+
/// </summary>
25+
public override Event Event => Event.TEMPLATE_CARD_MENU_EVENT;
26+
27+
/// <summary>
28+
/// 与发送模板卡片消息时指定的按钮btn:key值相同
29+
/// </summary>
30+
public string EventKey { get; set; }
31+
32+
/// <summary>
33+
/// 与发送模板卡片消息时指定的task_id相同
34+
/// </summary>
35+
public string TaskId { get; set; }
36+
37+
/// <summary>
38+
/// 通用模板卡片的类型
39+
/// </summary>
40+
public TemplateCard_CardTypeEnum CardType { get; set; }
41+
42+
/// <summary>
43+
/// 用于调用更新卡片接口的ResponseCode,72小时内有效,且只能使用一次
44+
/// </summary>
45+
public string ResponseCode { get; set; }
46+
}
47+
}

src/Senparc.Weixin.Work/Senparc.Weixin.Work/Enums.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ GroupTaskSentStatus 枚举
6060
6161
修改标识:LofyLiu - 20240315
6262
修改描述:添加枚举“模板卡片点击回调事件”
63+
64+
修改标识: IcedMango - 20241114
65+
修改描述: 添加: 通用模板卡片右上角菜单事件推送; 修复不正确的通用模板卡片事件推送类型
6366
----------------------------------------------------------------*/
6467

6568
using static System.Net.WebRequestMethods;
@@ -218,9 +221,14 @@ public enum Event
218221
MSGAUDIT_NOTIFY,
219222

220223
/// <summary>
221-
/// 模板卡片点击回调事件
224+
/// 模板卡片事件推送
225+
/// </summary>
226+
TEMPLATE_CARD_EVENT,
227+
228+
/// <summary>
229+
/// 通用模板卡片右上角菜单事件
222230
/// </summary>
223-
TEMPLATE_CARD_CLICK,
231+
TEMPLATE_CARD_MENU_EVENT,
224232
}
225233

226234
public enum TencentGender

src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageContext/DefaultWorkMessageContext.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,11 @@ public override IWorkRequestMessageBase GetRequestEntityMappingResult(RequestMsg
238238
case "MSGAUDIT_NOTIFY":
239239
requestMessage = new RequestMessageEvent_MsgAuditNotify();
240240
break;
241-
case "TEMPLATE_CARD_EVENT": //模板卡片回调事件
242-
requestMessage = new RequestMessageEvent_TemplateCardClick();
241+
case "TEMPLATE_CARD_EVENT": // 模板卡片事件推送
242+
requestMessage = new RequestMessageEvent_TemplateCardEvent();
243+
break;
244+
case "TEMPLATE_CARD_MENU_EVENT": // 通用模板卡片右上角菜单事件
245+
requestMessage = new RequestMessageEvent_TemplateCardMenuEvent();
243246
break;
244247
default://其他意外类型(也可以选择抛出异常)
245248
requestMessage = new RequestMessageEventBase();

0 commit comments

Comments
 (0)