Skip to content

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

Closed
@ezsky

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);

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