fastweixin v1.3.0 发布,极速微信公众号开发框架

fastweixin 发布 1.3.0 版本,微信消息处理器重构,非常感谢 @Nottyjay 贡献的代码,版本更新内容:

1.修复JS-SDK中token过期不刷新的BUG

2.修复网页授权接口返回值中缺失的unionid字段

3.修复文件名获取的bug

4.增加菜单点击事件(二维码扫描与照片发送)对应处理

5.新增消息群发接口

6.修复获取分组信息的方法,现在可以获取多个分组了

7.修复当一级菜单不存在二级时,获取菜单异常的情况

9.增加批量移动用户分组接口,增加删除分组接口

10.增加上传、删除永久素材的对应方法

11.重构WeixinSupport类,可以支持扩展到更多框架

v1.3.0重构了微信消息接收控制器,将WeixinSupport类完全独立抽象出来,不再依赖web框架

所以WeixinServletSupport类不再兼容之前的版本,具体使用方法如下:

基于springmvc项目的集成方法

@RestController
@RequestMapping("/weixin")
public class WeixinController extends WeixinControllerSupport {
private static final Logger log = LoggerFactory.getLogger(WeixinController.class);
private static final String TOKEN = "myToken";
//设置TOKEN,用于绑定微信服务器
@Override
protected String getToken() {
return TOKEN;
}
//使用安全模式时设置:APPID
@Override
protected String getAppId() {
return null;
}
//使用安全模式时设置:密钥
@Override
protected String getAESKey() {
return null;
}
//重写父类方法,处理对应的微信消息
@Override
protected BaseMsg handleTextMsg(TextReqMsg msg) {
String content = msg.getContent();
log.debug("用户发送到服务器的内容:{}", content);
return new TextMsg("服务器回复用户消息!");
}
/*1.1版本新增,重写父类方法,加入自定义微信消息处理器
*不是必须的,上面的方法是统一处理所有的文本消息,如果业务觉复杂,上面的会显得比较乱
*这个机制就是为了应对这种情况,每个MessageHandle就是一个业务,只处理指定的那部分消息
*/
@Override
protected List initMessageHandles() {
List handles = new ArrayList();
handles.add(new MyMessageHandle());
return handles;
}
//1.1版本新增,重写父类方法,加入自定义微信事件处理器,同上
@Override
protected List initEventHandles() {
List handles = new ArrayList();
handles.add(new MyEventHandle());
return handles;
}
}
基于servlet项目的集成方法

public class WeixinServlet extends WeixinServletSupport {
@Override
protected WeixinSupport getWeixinSupport() {
return new MyServletWeixinSupport();
}
}
//用户自行实现的微信消息收发处理器
public class MyServletWeixinSupport extends WeixinSupport {
private static final Logger log = LoggerFactory.getLogger(MyServletWeixinSupport.class);
@Override
protected String getToken() {
return "myToken";
}
@Override
protected BaseMsg handleTextMsg(TextReqMsg msg) {
String content = msg.getContent();
log.debug("用户发送到服务器的内容:{}", content);
return new TextMsg("服务器回复用户消息!");
}
}
基于Jfinal框架的集成方法

public class MyJfinalController extends Controller {
//用户自行实现的消息处理器
private WeixinSupport support = new MyServletWeixinSupport();
//绑定微信服务器
@Before(GET.class)
public void bind() {
support.bindServer(getRequest(), getResponse());
}
//处理消息
@Before(POST.class)
public void messageHandler() {
support.processRequest(getRequest());
}
}

原文:http://www.dajiake.com/article/index.php?id=645

posted @ 2015-05-15 17:01  昆山码农  阅读(1172)  评论(0编辑  收藏  举报