Commit e00d7b76 by quan.tang

企业微信 指令回调方法优化

parent a22b8086
...@@ -234,21 +234,24 @@ namespace Siger.WeComApi.Biz.service ...@@ -234,21 +234,24 @@ namespace Siger.WeComApi.Biz.service
var msgType = (ResponseMsgType)Enum.Parse(typeof(ResponseMsgType), xmlDoc.Root.Element("MsgType").Value, true); var msgType = (ResponseMsgType)Enum.Parse(typeof(ResponseMsgType), xmlDoc.Root.Element("MsgType").Value, true);
switch (msgType) switch (msgType)
{ {
case ResponseMsgType.Text://文本消息 case ResponseMsgType.text://文本消息
responseMessage = ResponseMessageText(xmlDoc, timestamp, signature, sToken, sEncodingAESKey, sCorpID); responseMessage = ResponseMessageText(xmlDoc, timestamp, signature, sToken, sEncodingAESKey, sCorpID);
break; break;
case ResponseMsgType.Image: case ResponseMsgType.image:
responseMessage = ResponseMessageImage(); responseMessage = ResponseMessageImage();
break; break;
case ResponseMsgType.Voice: case ResponseMsgType.voice:
responseMessage = ResponseMessageVoice(); responseMessage = ResponseMessageVoice();
break; break;
case ResponseMsgType.Video: case ResponseMsgType.video:
responseMessage = ResponseMessageVideo(); responseMessage = ResponseMessageVideo();
break; break;
case ResponseMsgType.News: case ResponseMsgType.news:
responseMessage = ResponseMessageNews(); responseMessage = ResponseMessageNews();
break; break;
case ResponseMsgType.Event:
responseMessage = ResponseMessageEvent(xmlDoc, timestamp, signature, sToken, sEncodingAESKey, sCorpID);
break;
} }
} }
else if (xmlDoc.Root.Element("InfoType") != null) else if (xmlDoc.Root.Element("InfoType") != null)
...@@ -339,6 +342,36 @@ namespace Siger.WeComApi.Biz.service ...@@ -339,6 +342,36 @@ namespace Siger.WeComApi.Biz.service
{ {
return "success"; return "success";
} }
/// <summary>
/// 事件消息
/// </summary>
/// <param name="xmlDoc"></param>
/// <param name="timestamp"></param>
/// <param name="nonce"></param>
/// <param name="sToken"></param>
/// <param name="sEncodingAESKey"></param>
/// <param name="sCorpID"></param>
/// <returns></returns>
public string ResponseMessageEvent(XDocument xmlDoc, string timestamp, string nonce, string sToken, string sEncodingAESKey, string sCorpID)
{
string FromUserName = xmlDoc.Root.Element("FromUserName").Value;
string ToUserName = xmlDoc.Root.Element("ToUserName").Value;
string AgentID = xmlDoc.Root.Element("AgentID").Value;
string xml = "<xml>";
xml += "<ToUserName><![CDATA[" + ToUserName + "]]></ToUserName>";
xml += "<FromUserName><![CDATA[" + FromUserName + "]]></FromUserName>";
xml += "<CreateTime>" + GetCurrentTimeUnix() + "</CreateTime>";
xml += "<MsgType><![CDATA[event]]></MsgType>";
xml += "<AgentID>" + AgentID + "</AgentID>";
xml += "</xml>";
WXBizMsgCrypt wxcpt = new WXBizMsgCrypt(sToken, sEncodingAESKey, sCorpID);
string sEncryptMsg = "";// 加密后的可以直接回复用户的密文;
wxcpt.EncryptMsg(xml, timestamp, nonce, ref sEncryptMsg);
//返回
return sEncryptMsg;
}
#endregion #endregion
......
...@@ -5,22 +5,57 @@ ...@@ -5,22 +5,57 @@
/// <summary> /// <summary>
/// 文本消息 /// 文本消息
/// </summary> /// </summary>
Text = 0, text = 0,
/// <summary> /// <summary>
/// 图文消息 /// 图文消息
/// </summary> /// </summary>
News = 1, news = 1,
/// <summary> /// <summary>
/// 图片消息 /// 图片消息
/// </summary> /// </summary>
Image = 3, image = 3,
/// <summary> /// <summary>
/// 语音消息 /// 语音消息
/// </summary> /// </summary>
Voice = 4, voice = 4,
/// <summary> /// <summary>
/// 视频消息 /// 视频消息
/// </summary> /// </summary>
Video = 5 video = 5,
/// <summary>
/// 文件消息
/// </summary>
file = 6,
/// <summary>
/// 位置消息
/// </summary>
location = 7,
/// <summary>
/// 链接消息
/// </summary>
link = 8,
/// <summary>
/// 名片消息
/// </summary>
business_card = 9,
/// <summary>
/// 小程序消息
/// </summary>
miniprogram = 10,
/// <summary>
/// 小程序消息
/// </summary>
msgmenu = 11,
/// <summary>
/// 事件消息
/// </summary>
Event = 12,
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment