BeeWeiXin 是针对腾讯的微信公众平台开发一个开发框架。 该项目是基于Bee OPOA Platform 开发的。
包含了以下功能:
1. 基于调用树的微信答复模型。 调用树支持多级(有上下文)响应, 可以通过 文本, 图文, 自定义三种方式响应。 其中自定义可以回复微信公众平台API所提供的三个方式(文本, 图文, 音乐)。
2. 提供了同步微信关注用户列表的功能。
3. 提供了菜单管理功能。
4. 提供了图文管理功能。
5. 原生集成Bee OPOA Platform上的所有功能, 主要是权限管理。
关于调试, 推荐采用园友提供的工具 微信公众帐号开发调试工具发布
预览由预览图中, 可以直观的了解调用链可以提供 文本、图文、自定义三种响应。
文本就是一般性的文本应答。 如在Bee.WeiXinDemo项目中已配置了【菜单1】是以文本响应, 节点值是V1001_M1_1。
回复1,test1 回复2,test2 回复3,test3
回复得到如下:
当用户点击菜单按钮触发了【V1001_M1_2】的事件, 系统响应提示文本【上图的1】; 用户根据提示, 选择产品, 输入1, 系统提示输入国家【上图的2】。 由于国家太多, 不太可能配置所有国家的选项, 所有采用了一个通配符的方案【上图的3】, 并采用自定义的方式应答。 代码如下:
public WeiXinTextResult CheckCountry() { string content = ViewData.TryGetValue("content", string.Empty); // 验证输入的国家是否合法 bool validFlag = content.IndexOf("CN") >= 0; if (validFlag) { return WeiXinText("1 最近3个月销售统计\r\n2 最近6个月销售统计"); } else { // 由于调用链有上下文, 用户输入错误, 需要将当前应答取消。Current.MessageStack.Pop(); Current.MessageStack.Pop(); return WeiXinText("国家不合法,请重新输入国家。"); } }
由以上代码可以知道上下文可以通过Current.MessageStack获取。
用户输入正确的国家代码, 则引导用户做下一个选择.
自定义MVC响应这个基本上跟Bee OPOA Platform的方式一模一样。 如【菜单1】下的【Other】项的响应就是采用该方式的。代码如下:
public ActionResult Other() { return View(); }
View代码如下:
<%@ Page Language="C#" AutoEventWireup="false" Inherits="Bee.Web.BeePageView" %> <%@ Import Namespace="Bee.Web" %> <%@ Import Namespace="Bee" %> <%@ Import Namespace="System.Collections.Generic" %>]]> ]]> <%=Bee.WeiXin.DateTimeUtil.GetWeixinDateTime(DateTime.Now) %> 回复1 联系方式 回复2 在线咨询
框架基类 Bee.WeiXin.Controller.WeiXinControllerBase提供了微信公众平台API所对应的三种响应的ActionResult, 具体请查看源码.
【