java如何监听微信关注事件,fastweixin: 极其方便的实现微信公众平台服务端开发,2行代码完成服务器绑定,3行代码实现用户消息监听...

本文介绍了一个名为fastweixin的库,用于简化微信公众号服务器的搭建过程。它封装了各种消息类型的处理,并提供了SpringMVC和Servlet框架的控制器支持。通过继承和重写方法,可以轻松实现消息和事件的处理。此外,库还支持微信安全模式、自动刷新token以及高级接口的API。集成方法包括SpringMVC、Servlet和Jfinal框架,详细文档和示例代码可供参考。
摘要由CSDN通过智能技术生成

fastweixin

作者:peiyu

ba957e3812d38374267f502c38074bf1.png

weibo-%40peiyu-red.svg

badge.svg

master.svg?style=svg

Join%20Chat.svg

license-Apache%202-4EB1BA.svg

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

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

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

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

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

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

支持微信消息安全模式,但由于jdk的限制,导致想使用安全模式,必须修改jdk内部的jar包

官方网站下载:

下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt

如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件

如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件

详细文档(感谢luozhuang 的整理)

基于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("服务器回复用户消息!");

}

}

web.xml配置

weixin

xxx.xxx.WeixinServlet

weixin

/weixin

基于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");

}

}

}

Change Log

Why Use

Maven 项目引入

com.github.sd4324530

fastweixin

1.3.15

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值