RuleGo RuleGo
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文
🏠首页
  • 快速入门
  • 规则链
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 可视化
  • RuleGo-Server
  • RuleGo-MCP-Server
  • AOP
  • 触发器
  • 高级主题
  • 性能
  • 标准组件
  • 扩展组件
  • 自定义组件
  • 组件市场
  • 概述
  • 快速入门
  • 路由
  • DSL
  • API
  • Options
  • 组件
🔥编辑器 (opens new window)
  • 可视化编辑器 (opens new window)
  • RuleGo-Server (opens new window)
  • ❓问答

    • FAQ
💖支持
👥加入社区
  • Github (opens new window)
  • Gitee (opens new window)
  • GitCode (opens new window)
  • 更新日志 (opens new window)
  • English
  • 简体中文

广告采用随机轮播方式显示 ❤️成为赞助商
  • 快速入门

  • 规则链

  • 标准组件

    • 标准组件概述
    • 过滤器

      • js脚本过滤器
      • 字段过滤器
      • 消息路由
      • js脚本路由
        • 配置
        • Relation Type
        • 执行结果
        • 配置示例
      • 过滤器组
      • 表达式过滤器
      • 并行网关
      • 条件分支
    • 动作

    • 转换器

    • 外部的

    • 流

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

  • AOP

  • 触发器

  • 高级主题

  • RuleGo-Server

  • 问题

目录

js脚本路由

jsSwitch组件:脚本路由。执行已配置的JS脚本,根据脚本返回值动态路由消息到一个或多个输出链。

JavaScript脚本支持ECMAScript 5.1(+) 语法规范和部分ES6规范,如:async/await/Promise/let。允许在脚本中调用Go自定义函数,请参考udf 。

# 配置

字段 类型 说明 默认值
jsScript string js脚本 无
  • jsScript:可以对msg、metadata、msgType进行处理和判断。该字段是以下函数体内容:

        function JsSwitch(msg, metadata, msgType) { 
            ${jsScript} 
         }
    
    1
    2
    3
    • msg:消息内容,如果dataType=JSON,类型是:jsonObject ,可以使用msg.temperature 方式操作。如果dataType是其他类型,该字段类型是:string
    • metadata:消息元数据,类型:jsonObject
    • msgType:消息类型
    • 函数返回值类型:数组,返回一个字符串数组,包含要路由到的一个或多个链名称

注意

  1. 脚本执行超时时间配置参考: config.ScriptMaxExecutionTime
  2. 返回的链名称必须在规则链connections中定义,否则消息会被丢弃

# Relation Type

使用脚本返回值动态决定路由关系,可以路由到一个或多个输出链。如果返回的链名称没有对应的连接,则会使用Default链进行路由。

# 执行结果

该组件不会改变msg、metadata和msgType内容,仅用于决定消息的路由方向。

# 配置示例

在 GitHub 上编辑此页 (opens new window)
上次更新: 2025/04/02, 01:29:50
消息路由
过滤器组

← 消息路由 过滤器组→

Theme by Vdoing | Copyright © 2023-2025 RuleGo Team | Apache 2.0 License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式