当前位置

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

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

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

6月14日上海 OSC 源创会开始报名,送机械键盘和开源无码内裤

fastweixin 发布 1.3.2 版本,更新内容:

1.重构token刷新机制,充分利用微信token提供的机制,不再出现超时刷新等问题

2.新增MaterialAPI,提供素材管理相关功能 感谢Nottyjay 贡献的代码

3.修复jsTicket刷新异常的BUG

4.获取用户信息同时可以获取用户所属分组ID

5.添加新增的微信接口全局返回码

6.提供ApiConfigChangeHandle接口,用于监控微信token以及jsTicket的变化,并实时通知调用者,使用jdk自带观察者模式实现 感谢Nottyjay 贡献的代码

7.补充注释,加入更全的测试用例

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

简单封装了所有与微信服务器交互的消息:文本消息、图片消息、图文消息等等 1.0版本提供了一个基于springmvc的控制器,集成了微信服务器绑定、监听所有类型消息的方法 使用时继承,重写即可,十分方便

基于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<MessageHandle> initMessageHandles() {                List<MessageHandle> handles = new ArrayList<MessageHandle>();                handles.add(new MyMessageHandle());                return handles;        }        //1.1版本新增,重写父类方法,加入自定义微信事件处理器,同上        @Override        protected List<EventHandle> initEventHandles() {                List<EventHandle> handles = new ArrayList<EventHandle>();                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();    public void index() {            HttpServletRequest request = getRequest();            log.debug("method:{}", request.getMethod());            //绑定微信服务器            if ("GET".equalsIgnoreCase(request.getMethod().toUpperCase())) {                support.bindServer(request, getResponse());                renderNull();            } else {                //处理消息                renderText(support.processRequest(request), "text/xml");            }        }}