Skip to content

企业微信服务商模式,消息接收路由规则无法使用msgType等方法 #1909

Description

@ezsky

简要描述

无法使用这几个方法,看源码里面也去掉了,这种情况是怎么做条件筛选的。
.msgType("MSG_TYPE").event("EVENT").eventKey("EVENT_KEY").content("CONTENT")

模块版本情况

  • WxJava 模块名: cp
  • WxJava 版本号:4.0.0

详细描述

类 WxCpTpMessageRouter

java.lang.Object
me.chanjar.weixin.cp.tp.message.WxCpTpMessageRouter

public class WxCpTpMessageRouter
extends Object
微信消息路由器,通过代码化的配置,把来自微信的消息交给handler处理
和WxCpMessageRouter的rule相比,多了infoType和changeType维度的匹配

说明:

  1. 配置路由规则时要按照从细到粗的原则,否则可能消息可能会被提前处理
  2. 默认情况下消息只会被处理一次,除非使用 WxCpTpMessageRouterRule.next()
  3. 规则的结束必须用WxCpTpMessageRouterRule.end()或者WxCpTpMessageRouterRule.next(),否则不会生效

使用方法:
WxCpTpMessageRouter router = new WxCpTpMessageRouter();
router
.rule()
.msgType("MSG_TYPE").event("EVENT").eventKey("EVENT_KEY").content("CONTENT")
.interceptor(interceptor, ...).handler(handler, ...)
.end()
.rule()
.infoType("INFO_TYPE").changeType("CHANGE_TYPE")
// 另外一个匹配规则
.end()
;

// 将WxXmlMessage交给消息路由器
router.route(message);

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions