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

添加服务器相关辅助功能接口API——SystemAPI,提供获取微信服务器IP地址、长链接换成短链接功能;

升级httpcomponents版本到最新版;

快速搭建微信公众平台服务器

简单封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等

提供了基于springmvc以及基于servlet框架的控制器,集成了微信服务器绑定、监听所有类型消息的方法

使用时继承,重写即可,十分方便

v1.2.0开始支持高级接口的API,https请求基于org.apache.httpcomponents 4.3.6,json解析基于fastjson 1.2.4

框架中提供MenuAPI、CustomAPI、QrcodeAPI、UserAPI、 MediaAPI、 OauthAPI
用于实现所有高级接口功能,使用极其简单

v1.2.6开始支持微信安全模式的消息收发

内部实现token过期自动刷新,不用再关注token细节

注意:对于同一个公众号而言,ApiConfig类只需保持单例即可

基于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 {
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版本新增,重写父类方法,加入自定义微信消息处理器
@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;
}
}

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

posted @ 2015-03-29 22:12  昆山码农  阅读(340)  评论(0编辑  收藏  举报