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
  • 简体中文

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

  • 规则链

  • 标准组件

  • 扩展组件

  • 自定义组件

  • 组件市场

  • 可视化

    • 可视化概述
    • RuleGo-Editor
    • 获取组件配置表单
    • 获取规则链配置
    • 获取规则链节点配置
    • 批量初始化规则链
    • 删除规则链实例
    • 保存规则链坐标信息
    • 组件配置表单约定
    • AOP

    • 触发器

    • 高级主题

    • RuleGo-Server

    • 问题

    目录

    组件配置表单约定

    框架会扫描注册的组件,根据以下约定生成组件表单配置,用于可视化编辑器渲染组件配置表单。

    1. 根据组件结构体名,生成组件名称(首字母小写)
    2. 根据组件结构体的Config字段定义的结构体,生成表单项。(字段首字母小写或者通过json tag自定义)
    3. 根据New()方法返回的组件实例Config字段生成表单项默认值
    4. 根据组件包名生成分类。组件分类有:transform、action、filter、external、flow、ci、ai、aiot
    5. endpoint组件 Type 以endpoint/作为前缀

    提示

    组件也可以通过实现以下可选接口,覆盖组件配置表单约定 的信息:

    type ComponentDefGetter interface {
      Def() ComponentForm
    }
    
    1
    2
    3
    • ComponentForm定义

    # 示例

    组件定义:

    package transform
    
    // JsTransformNodeConfiguration 节点配置,把可导出的字段生成表单项
    type JsTransformNodeConfiguration struct {
    	//JsScript 配置函数体脚本内容
    	JsScript string
    }
    
    // JsTransformNode 自定义组件结构体,对应生成组件名称:jsTransformNode
    type JsTransformNode struct {
    	//节点配置,如果该节点需要表单配置,必须有`Config`
    	Config   JsTransformNodeConfiguration
    	jsEngine types.JsEngine
    }
    // Type 组件类型
    func (x *JsTransformNode) Type() string {
        return "jsTransform"
    }
    // New 根据Config字段初始化,获取表单项默认值
    func (x *JsTransformNode) New() types.Node {
      return &JsTransformNode{Config: JsTransformNodeConfiguration{
        JsScript: "return {'msg':msg,'metadata':metadata,'msgType':msgType};",
        }
      }
    }
    //其他接口
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26

    自动生成组件配置表单定义:

     {
          "type": "jsTransform",
          "category": "transform",
          "fields": [
            {
              "name": "jsScript",
              "type": "string",
              "defaultValue": "return {'msg':msg,'metadata':metadata,'msgType':msgType};",
              "label": "",
              "desc": "",
              "validate": "",
              "fields": null
            }
          ],
          "label": "JsTransformNode",
          "desc": "",
          "icon": "",
          "relationTypes": [
            "Success",
            "Failure"
          ]
        }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    • 组件配置表单定义
    • 可以在RuleGo-Editor 可视化编辑器 local_zh.js 文件 对组件配置进行国际化设置。
    在 GitHub 上编辑此页 (opens new window)
    上次更新: 2025/03/31, 01:52:11
    保存规则链坐标信息
    AOP概述

    ← 保存规则链坐标信息 AOP概述→

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

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