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

转载于:https://www.cnblogs.com/kunshandajiake/p/4506383.html

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

  1. UI-网站首页轮播图、易拉宝、发布在微信公众号的宣传海报的图片设计信息

    UI交互设计 一."新建" 常见的颜色模式: 颜色模式,是将某种颜色表现为数字形式的模型,或者说是一种记录图像颜色的方式.分为:RGB模式.CMYK模式.HSB模式.Lab颜色模式 ...

  2. 如何将 Markdown 格式文章快速发布到微信公众号

    如果你和我一样,平时习惯使用 Markdown 写作,当我们想把文章发布到微信公众号或知乎等平台时,就会发现挺麻烦的,尤其是排版方面,因为它们并不支持 Markdown 格式. 那有没有简单高效的办法 ...

  3. 【简易方法】Markdown 格式 的文章发布到微信公众号

    [简易方法]Markdown 格式 的文章发布到微信公众号 1 关于Markdown Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档. Markdown 语言在 2 ...

  4. PHP微信管理,公众号系统,RhaPHP微信公众号管理系统,微信公众号开发框架,支持移动端管理...

    简洁.快速开发.支持移动端管理 做了很多年的微信开发,在一堆的开发上的痛点下于是我们开发了此系统(也是一款框架).深知客户与开发者都需要的是什么.我们集合微信常用的功能,在开发上简单的代码即可实现.支 ...

  5. java中微信公众号框架_java微信公众号开发框架包含哪些内容呢?为什么要使用框架...

    java微信公众号开发框架包含哪些内容呢?为什么要使用框架 微信公众号是现在人们生活中经常会用到的,微信公众号有着各种各样的信息,包含了齐全的内容以及完善的功能,这也让人们可以更加轻松的在公众号上找到 ...

  6. 小技巧,把Markdown文本发布到微信公众号文章

    估计很多人都是这样,平常工作在github,等到有成果要发布,又要写微信公众号. github用Markdown,微信公众号,至少截止今天,还是沿用富文本的方式.不是说富文本不好,但每次精心撰写的内容 ...

  7. PHP微信公众号开发插件,基于ThinkCMF1.5.0开发的微信公众号插件

    ThinkCMF升级到了1.5.0,引入的插件机制让我很是心动,于是乎写了这个微信公众号插件,纯属抛砖引玉,水平有限,不喜勿喷.大家可以先关注我的个人订阅号测试下各个小功能. 主要实现的功能有这么几个 ...

  8. jQuery WeUI v0.1.0 发布了 - 微信公众账号开发者的福音

    我又回来了.抱歉因为最近头疼的事情比较多,好久没更新博客了. 在做微信公众账号的童鞋有福了,简单易用的 jQuery WeUI 发布了第一个版本: github地址: https://github.c ...

  9. 微信公众号多域名回调系统1.0发布

    这是一款基于ThinkPHP6.0框架的微信公众号多域名回调系统. 微信公众号后台默认只能授权2个网页域名,用本系统可突破这个限制,用同一个公众号对接无限多个网站.网站后台支持回调域名白名单的管理,以 ...

最新文章

  1. 10本计算机视觉必读经典图书,入门篇 + 提升篇
  2. ubuntu中遇到jupyter出现问题ValueError: signal only works in main thread ERROR:tornado.application:Except
  3. C语言排序方法------堆排序
  4. 【map分组求和】map集合根据某一key分组,再对某一key对应的所有值求和
  5. JAVA中构造方法说法_关于Java程序的构造方法,说法错误的是( )
  6. Arduino开发遥控小车(二)基于nRF24L01无线模块实现数据发送和接收
  7. rime android汉字,Rime输入法
  8. oracle设置系统权限,Oracle数据库权限管理
  9. 人体的神经系统图 分布,神经系统分布图解说图
  10. 我的十年十念 ——十年工作感言
  11. 通信原理第三章:窄带随机过程
  12. Excel如何批量添加邮箱后缀
  13. mysql 主从1146_mysql 主从复制1146错误处理办法
  14. 2021-05-07:set,hashmap,collisions, map 242 1 15 18
  15. 刷脸支付会以迅雷不及掩耳之势布局未来
  16. php九宫格抽奖程序源码
  17. 更加智能地管理SD-WAN最后一英里-ielab
  18. Automatic differentiation
  19. 怎么准备年终总结谈话
  20. Java基础之易错小札

热门文章

  1. Angular面试题三
  2. OpenJudge 2796: 数字求和
  3. 单链表的增删查改等基本操作C++实现
  4. 使用Leopard Jdbc
  5. #linux进阶#wget
  6. Apache2.4x版本的403问题
  7. [转载] 七龙珠第一部——第002话 布玛没有尾巴
  8. Activity内嵌Fragment,当Activity recreate时Fragment被添加多次,造成相互遮盖
  9. android:onClick attribute
  10. 使用 requests 配置代理服务