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

jopen 9年前

fastweixin 发布 1.2.2 版本

版本更新内容:

  • 修复使用servlet时回复用户信息乱码问题;

  • 优化微信高级接口API方法,参数以及返回值更加友好;

  • 加入对创建菜单API进行调佣前简单校验

  • 注释完善,便于理解;

  • 简单加入一个样例代码,见test目录

源码:http://git.oschina.net/pyinjava/fastweixin

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

简单封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等
提供了基于springmvc以及基于servlet框架的控制器,集成了微信服务器绑定、监听所有类型消息的方法
使用时继承,重写即可,十分方便
v1.2.0开始支持高级接口的API,https请求基于org.apache.httpcomponents 4.3.X,json解析基于fastjson 1.1.45
框架中提供MenuAPI、MessageAPI、QrcodeAPI、UserAPI用于实现所有高级接口功能,使用极其简单

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

基于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;          }          //重写父类方法,处理对应的微信消息          @Override          protected BaseMsg handleTextMsg(TextReqMsg msg) {              String content = msg.getContent();              log.debug("用户发送到服务器的内容:{}", content);              return new TextMsg("服务器回复用户消息!");          }          /*1.1版本新增,重写父类方法,加入自定义微信消息处理器           *不是必须的,上面的方法是统一处理所有的文本消息,如果业务觉复杂,上面的会显得比较乱           *这个机制就是为了应对这种情况,每个MessageHandle就是一个业务,只处理指定的那部分消息           */          @Override          protected List<MessageHandle> getMessageHandles() {                  List<MessageHandle> handles = new ArrayList<MessageHandle>();                  handles.add(new MyMessageHandle());                  return handles;          }          //1.1版本新增,重写父类方法,加入自定义微信事件处理器,同上          @Override          protected List<EventHandle> getEventHandles() {                  List<EventHandle> handles = new ArrayList<EventHandle>();                  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;          }          //重写父类方法,处理对应的微信消息          @Override          protected BaseMsg handleTextMsg(TextReqMsg msg) {              String content = msg.getContent();              log.debug("用户发送到服务器的内容:{}", content);              return new TextMsg("服务器回复用户消息!");          }          //1.1版本新增,重写父类方法,加入自定义微信消息处理器          @Override          protected List<MessageHandle> getMessageHandles() {              List<MessageHandle> handles = new ArrayList<MessageHandle>();              handles.add(new MyMessageHandle());              return handles;          }          //1.1版本新增,重写父类方法,加入自定义微信事件处理器          @Override          protected List<EventHandle> getEventHandles() {              List<EventHandle> handles = new ArrayList<EventHandle>();              handles.add(new MyEventHandle());              return handles;          }  }