自定义被动消息回复

Jul 10, 2017 10:38:44 AM

作者:wendal

自定义回复

之前的步骤,演示了默认的BasicWxHandler的行为是怎样的,现在,我们要自定义一个WxHandler了

新建一个类,继承BasicWxHandler

  1. @IocBean(create="init", name="wxHandler")
  2. public class DefaultWxHandler extends BasicWxHandler {
  3. @Inject
  4. protected PropertiesProxy conf; // 注入配置信息加载类
  5. public void init() {
  6. // 将读取 weixin.token/weixin.aes/weixin.appid, 他们通常会写在weixin.properties或从数据库读取.
  7. configure(conf, "weixin.");
  8. // 如果你不知道conf是啥, 完全搞不清楚状况,
  9. // 请将protected PropertiesProxy conf注释掉,configure也注释掉
  10. // 把下面这行取消注释.
  11. // token = "1234567890";
  12. }
  13. public WxOutMsg text(WxInMsg msg) {
  14. if ("1".equals(msg.getContent())) {
  15. return Wxs.respText("广告法说不能自称第一");
  16. }
  17. else if ("2".equals(msg.getContent())) {
  18. return Wxs.respText("就是这么2");
  19. }
  20. return super.text(msg);
  21. }
  22. }

然后改一下WeixinModule中的wxHandler声明, 使其变成注入DefaultWxHandler

  1. @Inject
  2. protected WxHandler wxHandler;

然后,就是启动你的项目, 在微信中输入1 或 2 , 看看服务器响应什么了.

如何扩展

BasicWxHandler 有大量的定义的方法,覆盖指定的方法即可.

如果需要完全接管,那么,覆盖handle方法就可以了

本页面的文字允许在知识共享 署名-相同方式共享 3.0协议GNU自由文档许可证下修改和再使用。

原文: http://nutzam.com/core/weixin/weixin_handler.html