自定义被动消息回复
优质
小牛编辑
128浏览
2023-12-01
之前的步骤,演示了默认的BasicWxHandler的行为是怎样的,现在,我们要自定义一个WxHandler了
新建一个类,继承BasicWxHandler
@IocBean(create="init", name="wxHandler")
public class DefaultWxHandler extends BasicWxHandler {
@Inject
protected PropertiesProxy conf; // 注入配置信息加载类
public void init() {
// 将读取 weixin.token/weixin.aes/weixin.appid, 他们通常会写在weixin.properties或从数据库读取.
configure(conf, "weixin.");
// 如果你不知道conf是啥, 完全搞不清楚状况,
// 请将protected PropertiesProxy conf注释掉,configure也注释掉
// 把下面这行取消注释.
// token = "1234567890";
}
public WxOutMsg text(WxInMsg msg) {
if ("1".equals(msg.getContent())) {
return Wxs.respText("广告法说不能自称第一");
}
else if ("2".equals(msg.getContent())) {
return Wxs.respText("就是这么2");
}
return super.text(msg);
}
}
然后改一下WeixinModule中的wxHandler声明, 使其变成注入DefaultWxHandler
@Inject
protected WxHandler wxHandler;
然后,就是启动你的项目, 在微信中输入1 或 2 , 看看服务器响应什么了.
如何扩展
BasicWxHandler 有大量的定义的方法,覆盖指定的方法即可.
如果需要完全接管,那么,覆盖handle方法就可以了