微信插件

在开发微信插件支持,请先确认对微信进行正确的配置,微信配置可以查看:http://www.jpress.io/article/65

微信插件开发步骤

  • 1、编写任意类,实现接口 WechatAddon
  • 2、给该类添加 @WechatAddonConfig 注解。

以下是 完整的 hello world 例子,当用户在微信客户端给公众号输入 hello 的时候,服务器给微信返回 world 字符串:

  1. @WechatAddonConfig(
  2. id = "ip.press.helloaddon", //这个插件的ID,配置整个 JPress 系统全局唯一
  3. title = "Hello World", //这个插件的标题,用于在后台显示
  4. description = "这是一个 Hello World 微信插件,方便开发参考。用户输入 hello,返回 world", //这个插件的描述
  5. author = "海哥" //这个插件的作者
  6. )
  7. public class HelloWechatAddon implements WechatAddon {
  8. @Override
  9. public boolean onMatchingMessage(InMsg inMsg, MsgController msgController) {
  10. //当用户给公众号发送的不是文本消息的时候
  11. //返回 false 不由本插件处理
  12. if (!(inMsg instanceof InTextMsg)) {
  13. return false;
  14. }
  15. InTextMsg inTextMsg = (InTextMsg) inMsg;
  16. String content = inTextMsg.getContent();
  17. //当用户输入的内容不是 hello 的时候
  18. //返回false,不由本插件处理
  19. return content != null && content.equalsIgnoreCase("hello");
  20. }
  21. @Override
  22. public boolean onRenderMessage(InMsg inMsg, MsgController msgController) {
  23. //创建一个新的文本消息
  24. //通过 msgController 进行渲染返回给用户
  25. OutTextMsg outTextMsg = new OutTextMsg(inMsg);
  26. outTextMsg.setContent("world");
  27. msgController.render(outTextMsg);
  28. //返回 true,表示本插件已经成功处理该消息
  29. //若返回false,表示本插件处理消息失败,将会交给系统或者其他插件去处理
  30. return true;
  31. }
  32. }

备注:

  • onMatchingMessage :用来匹配是否由本插件处理该消息,返回 true 由本插件处理,false 本插件忽略此消息。
  • onRenderMessage :用来返回给微信客户端一个消息