/// </summary>
PIC_WEIXIN,
/// <summary>
/// 弹出地理位置选择器
/// </summary>
LOCATION_SELECT,
/// <summary>
/// 模板消息推送
/// </summary>
TEMPLATESENDJOBFINISH
}
定义好枚举后,就是定义消息实体了。
关注/取消关注事件
xml数据包如下:
复制代码 <xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
</xml>
对应的实体:
复制代码 /// <summary>
/// 订阅/取消订阅事件
/// </summary>
public class SubEventMessage : EventMessage
{
private string _eventkey;
/// <summary>
/// 事件KEY值,qrscene_为前缀,后面为二维码的参数值(已去掉前缀,可以直接使用)
/// </summary>
public string EventKey
{
get { return _eventkey; }
set { _eventkey = value.Replace("qrscene_", ""); }
}
/// <summary>
/// 二维码的ticket,可用来换取二维码图片
/// </summary>
public string Ticket { get; set; }
}
这里需要注意的是,当用户扫描带参数的二维码时,如果用户没有关注当前公众号,用户关注时,会在消息体中带上qrscene_参数,和Ticket,所以这里定义了两个属性:EventKey,Ticket。当给EventKey赋值时,替换掉qrscene_,因为我们真正需要的就是后面的参数。
扫描带参数二维码事件










