本文档介绍在蓝图编辑器中,配置数据处理类节点的方法。数据处理内的逻辑节点包括并行数据处理串行数据处理序列执行WebSocket

并行数据处理

并行数据处理节点,是使用并行方式来处理多个事件,各事件之间互不影响。

使用场景:并行数据处理节点在数据分发场景中使用较多。例如一个组件接口返回的数据为{name: '蓝图编辑器', version: 'v1.0' },分发到2个通用标题组件中,一个取的是name字段,另一个取的是version字段。可以使用该节点新增两个处理方法,一个为return [{value: data.name}],另一个为return [{value: data.version}]

添加并行数据处理节点至画布中,可查看并行数据处理节点支持的事件/动作,以及配置参数。
说明 添加方式请参见使用逻辑节点
并行数据处理面板
表 1. 事件/动作参数说明
事件/动作 说明
处理方法 并行的数据处理方法。可在配置面板中添加多个处理方法,添加后,并行数据处理节点中显示您添加的处理方法;不同处理方法可连接不同的上游节点,实现数据并行处理。
表 2. 配置项说明
参数 说明
处理方法 编写JavaScript函数体,返回结果可为任意类型。

表格中仅提供其他配置中的参数说明,其他参数配置请参见公共参数说明

输出结果:每个处理方法对相应上游节点的输出结果进行计算后,得到的输出结果。

串行数据处理

串行数据处理节点,是使用串行方式来处理一个事件。

使用场景:例如,小数0.835要转换成整数百分比83%,可经过:单位转换(83.5) -> 取整(83)-> 添加字符串后缀(83%),一系列串行操作完成。

添加串行数据处理节点至画布中,可查看串行数据处理节点支持的事件/动作,以及配置参数。
说明 添加方式请参见使用逻辑节点
串行数据处理面板
表 3. 事件/动作参数说明
事件/动作 说明
处理方法 串行的数据处理方法。可在配置面板中添加多个处理方法,添加后,串行数据处理节点中显示您添加的处理方法;各方法共同实现数据处理。
表 4. 配置项说明
参数 说明
处理方法 编写JavaScript函数体,返回结果可为任意类型。

表格中仅提供其他配置中的参数说明,其他参数配置请参见公共参数说明

输出结果:上游节点的输出结果经过所有处理方法计算后,得到的输出结果。

序列执行

当您对下游节点的动作执行有顺序要求时,可使用序列执行节点,保证动作从上到下依次执行。

使用场景:例如,当您需要切换不同场景的数据面板时,每个场景有很多数据面板,先把场景A相关的数据面板切出,再把场景B相关的数据面板切进。可使用序列执行节点,对不同场景的数据面板进行分组,再按照先A后B的顺序执行。

添加序列执行节点至画布中,可查看序列执行节点支持的事件/动作,以及配置参数。
说明 添加方式请参见使用逻辑节点
序列执行面板
表 5. 事件/动作参数说明
事件/动作 说明
执行 输入上游节点的输出结果,用于该节点的结果计算。
数据处理 序列执行的数据处理方法。可在配置面板中添加多个处理方法,添加后,序列执行节点中显示您添加的处理方法;各方法按照顺序进行数据处理。
表 6. 配置项说明
参数 说明
处理方法 编写JavaScript函数体,返回结果支持任意类型。可叠加,每个处理方法独立计算,输入均为上一个节点的输出结果,输出为每个处理方法自己的计算结果,相互不影响。

表格中仅提供其他配置中的参数说明,其他参数配置请参见公共参数说明

输出结果:每个处理方法按照顺序,对上游节点的输出结果进行计算后,得到的输出结果。

WebSocket

WebSocket节点为屏间通信节点。每个消息由消息名称和数据组成,消息名称在配置项中自定义,数据为上一个节点的输出结果。

使用场景:WebSocket节点用于多端之间的命令和数据传输。例如大屏与移动端、大屏与触摸屏端的数据传输等。

添加WebSocket节点至画布中,可查看WebSocket节点的配置参数。
说明 添加方式请参见使用逻辑节点
WebSocket面板
表 7. 配置项说明
参数 说明
socket服务地址 socket后端服务的地址。
屏幕ID WebSocket节点所在屏幕ID号,自定义输入。
屏幕名称 WebSocket节点所在屏幕名称,自定义输入。
分组 WebSocket消息只在同socket服务下的同分组中进行广播。一般同一项目约定一个分组名称。
接收消息 WebSocket节点接收来自其他端的消息名称,可添加多个。

单击右侧下拉箭头,再单击+,可添加接收消息,消息格式任意。

发送消息 WebSocket节点发送到其他端的消息名称,可添加多

单击右侧下拉箭头,再单击+,可添加发送消息,消息格式任意。

表格中仅提供其他配置中的参数说明,其他参数配置请参见公共参数说明

输出结果:无。

WebSocket格式说明

如果您已有WebSocket服务,前端无需编写任何代码,即可接入DataV提供的WebSocket节点。前提是您的Webocket服务符合以下格式。

配置示例示例图
  • 注册阶段
    WebSocket节点发送消息格式如下。
    {
      event: "register",
      data: {
        sid: 407194,                                      //屏幕ID
        name: "数据源受控模式测试",                        //屏幕名称
        group: "默认分组"                                 //默认分组
      },
      callback: "callback_15832235175585251131307383912" //当前注册时间戳,自动生成
    }
    WebSocket服务拿到注册消息之后,需返回如下消息才能成功注册。
    {
      event: "callback_15832235175585251131307383912",   //返回与之前同样的注册时间戳
      data: {
        isError: false,                                  //置为false
        data: "ok"
      }
    }
  • 发送消息
    WebSocket节点发送消息格式如下。
    {
      event: 'broadcast',
      data: {
        event: "发送出去的消息1",                         //发送消息名称
        data: {}                                         //data为任意格式
      }
    }
  • 接收消息
    WebSocket节点接收消息格式如下。
    {
      event: "broadcast_接收到的消息1",                  //broadcast_${接收消息名称}
      data: {}                                          //data为任意格式
    }