低代码可视化平台操作手册第五篇

绑定WebSocket数据源

在组件数据源配置界面中,数据源类型,选择【WebSocket】

57b402f15f00f63b9b77f9fd9bd6cabd.jpeg


在具体配置之前,我们先创建一个WebSocket测试地址,我们使用NodeJS创建了一个测试案例:

const WebSocket = require('ws');


const wss2 = new WebSocket.Server({ port: 8083 });


wss2.on('onopen', function () {

  console.log('open')

})


wss2.on('connection', function connection(ws) {

  ws.on('message', function incoming(message) {

    console.log('received: %s', message);

  });


  setInterval(() => {


    ws.send(JSON.stringify([{

      value: '我是消息'+Math.ceil(Math.random()*100)

    }]))


  }, 1000)

});

此案例中,我们模拟了每隔一秒发送一次【多行文本】组件所需的数据源结果集JSON串

然后我们填写【WS地址】为:ws://localhost:8083


1328d26b2f0779eb77bfccccd5a76414.jpeg


值得注意的是,WebSocket数据源在设计器编辑模式下是不会发起链接的,只有在预览或发布模式下访问页面才能看到效果,如果我们想要在设计器模式下测试是否链接成功,我们可以点击【测试链接】,如下图所示,当我们点击测试链接之后,可以看到组件已经成功与WebSocket建立了链接,且接收到了推送过来的消息。


347acfe27917e61ab2e75c3c08180668.jpeg


使用WebSocket数据源需要注意以下几点:

· 使用WebSocket数据源后,组件将无法使用【定时轮训器】

· 默认情况下,WebSocket数据源只能接收数据,无法推送数据(当然我们可以通过一些手段实现数据推送,这会在后续的进阶使用中说明)

· WS接口返回的数据建议使用纯字符串形式的数据,可以注意到,我们的WebSocket测试程序中,返回的就是使用JSON.stringify格式化后的JSON数据

·   ws.send(JSON.stringify([{

·     value: '我是消息'+Math.ceil(Math.random()*100)

·   }]))

绑定CSV数据源

在组件数据源配置界面中,数据源类型,选择【CSV文件】


4bc215705b2a0f790009e11adf17a54f.jpeg


然后点击【新建】,打开【CSV数据源编辑】界面


4185f2500b059b0fc83fe6437bbced49.jpeg


这里我们可以上传CSV文件进行解析,表单中我们提供了一个示例,假如您需要一个如下的数据源结果集:

[

  {

    "label":"南宁",

    "value":10

  },

  {

    "label":"柳州",

    "value":20

  },

  ...

]

注:CSV文件大小不能超过5MB,且文件编码应为UTF-8

添加了CSV数据源之后,我们就可以选择对应的数据源来绑定给组件了。

管理CSV数据源

可以在管理工作台中管理我们的CSV数据源,可以对某个CSV数据源的解析结果进行再编辑。


0e94f764700cfac1d63c68d0d3c14bf3.jpeg


值得注意的是,组件绑定CSV数据源是动态绑定的,也就是说,如果我们对某个CSV数据源的解析结果进行再编辑后保存,那么我们页面中所有绑定了这个CSV数据源的组件在访问的时候也会更新至最新的状态。

CSV数据源的特点

CSV数据源本质上与静态JSON数据源是一样的,只是CSV数据源是通过解析CSV文件得到的结果集,但是与静态数据源不同的是,组件绑定了指定的CSV数据源之后,每次加载数据,都会动态获取平台数据库中的CSV数据源结果集, 因此,当我们需要为多个组件绑定同一个静态数据结果集,同时又希望能够在一个统一的地方去修改这个结果集时,就可以给组件去绑定CSV数据源,这样就能通过修改CSV数据源来实现同步多个组件的效果。

配置结果集过滤器

当我们在使用动态数据源时,会面临非标准的数据结果集接入的场景,此时可通过结果集过滤器进行字段类型变更、数值去零、字段拆分、字段重组等数据格式转换以及一些简单的逻辑运算。

如果只是简单的字段绑定,而不需要对结果集字段进行计算逻辑,可直接使用 数据字段映射 功能进行配置。

结果集过滤器采用标准JS语法,JS语法参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript(opens new window)

DataSoli中基于JS标准语法之上,定义了自己的编写标准,过滤器中通过ds_resultObj变量来存储结果集对象,我们只需要对ds_resultObj进行重构赋值即可

下面将以【多行文本】组件作为示例,说明结果集过滤器如何编写,首先【多行文本】组件要求的结果集格式为:

[

  {

    "value": "hello world"

  }

]

DataSoli中 标准的过滤器写法 为:

let newData = [

  {

    value: 'new value'

  }

]

ds_resultObj = newData

假设我们使用了API接口作为数据源,接口返回的结果集为:

[

  {

    "text": "hello world"

  }

]

以上结果集是无法正常被【多行文本】组件解析的,这时候我们就可以通过过滤器去构建新的结果集数据:

let newData = [

  {

    value: ds_resultObj[0].text

  }

]

ds_resultObj = newData

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值