/*--------------------------------------------------------------------------
* AcceptMessageAPI.cs
*Auth:deepleo
* Date:2013.12.31
* Email:2586662969@qq.com
* Website:http://www.weixinsdk.net
*--------------------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Dynamic;
using System.Xml.Linq;
using System.Xml;
using Codeplex.Data;
using Tencent;
namespace Deepleo.Weixin.SDK
{
///
/// 对应微信API的 "接收消息"
///
public class AcceptMessageAPI
{
///
/// 解析微信服务器推送的消息
/// http://mp.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%99%AE%E9%80%9A%E6%B6%88%E6%81%AF
/// http://mp.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81
///
///
///
public static WeixinMessage Parse(string message)
{
var msg = new WeixinMessage();
msg.Body = new DynamicXml(message);
string msgType = msg.Body.MsgType.Value;
switch (msgType)
{
case "text":
msg.Type = WeixinMessageType.Text;
break;
case "image":
msg.Type = WeixinMessageType.Image;
break;
case "voice":
msg.Type = WeixinMessageType.Voice;
break;
case "video":
msg.Type = WeixinMessageType.Video;
break;
case "location":
msg.Type = WeixinMessageType.Location;
break;
case "link":
msg.Type = WeixinMessageType.Link;
break;
case "event":
msg.Type = WeixinMessageType.Event;
break;
default: throw new Exception("does not support this message type:" + msgType);
}
return msg;
}
}
}