当前位置

网站首页> 程序设计 > 程序资讯 > 软件更新资讯 > 浏览文章

fastweixin v1.2.0 发布,开始支持微信公众平台高级接口API

作者:小梦 来源: 网络 时间: 2024-05-08 阅读:

11月23日开源中国源创会年度(北京万豪酒店)千人盛典正在报名中

封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等
提供了基于springmvc以及基于servlet框架的控制器,集成了微信服务器绑定、监听所有类型消息的方法

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

为何要依赖web框架:在我们的服务器绑定微信公众号、与微信关注者进行消息交互以及点击菜单事件时,我们是做为服务端的,根据公众平台开发要求,我们需要提供一个地址来处理这些事情,必须要用到web框架来完成这些。

v1.2.0开始支持高级接口的API,https请求基于org.apache.httpcomponents 4.3.X,json解析基于fastjson 1.1.44
框架中提供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;        }}

开源中国主页:http://git.oschina.net/pyinjava/fastweixin