当前位置: 首页 > 文档资料 > ThingJS 文档中心 >

数据接入

优质
小牛编辑
139浏览
2023-12-01

ChartBuilder提供了多层次、多形式的数据接入方式,用户可根据自己的需求选择合适的方式

  • Level0 静态JSON数据
  • Level1 场景级数据
  • Level2 组件级数据
  • Level3 订阅数据适配器的数据

数据优先级依次递增(如果有Level3的数据,直接应用,没有则依次向下寻找,直到获取到数据)

订阅数据

组件可订阅数据适配器的数据,实时渲染

  • 创建组件适配器
  • 组件适配器对接数据
  • 组件选择订阅数据
  • 通过JS处理获取到的数据

JS代码

 //获取订阅的数据(传入数据适配器的id)
let data = this.getPublishDataById('udatae6af66a5-fcdc-ab15-cec5-c9eb786a9a7a')
/*该函数可以根据接数组件ID获取该组件接入的业务数据
返回值为业务数据格式
参数id:组件id(string),可以在组件工具条上进行拷贝*/
//console.log(data)
//获取组件的配置
let options = this.getOptions()
/*该函数可以获取该组件的配置数据*/

//获取组件系列的值
let legendData = options.legend.data
//清空系列的值
legendData.splice(0,legendData.length)
//获取组件的业务数据
let seriesData = options.series[0].data
//清空业务数据
seriesData.splice(0,seriesData.length)
//遍历插入数据
for (let i = 0; i < data.length; i ++) {
    legendData.push(data[i].name)
    seriesData.push(data[i])
}

组件数据

组件级数据提供restApi、数据库、文件三种方式接入数据

restApi

通过POST请求RestApi获取原始数据

  • 填入RESTAPI地址。
  • 填入返回层级。
  • 填入参数。

数据库

支持MySQL、oracle、DB2、SQLServer等多种数据源

  • 创建数据源
  • 选择数据源
  • 填入系列值
  • 填入Sql

注意:

如果有系列值,第一项必须是也只能是 name

文件

通过上传excel文件,渲染组件

文件的数据格式需要和组件需要的数据格式一致

如:组件的数据格式如下

文件格式需要

场景数据

整个场景通过POST请求RestApi获取场景级数据

  • 填入RESTAPI地址。
  • 填入返回层级。

静态数据

组件都带有基础的静态数据以便渲染,没有接入数据的时候可以使用模板数据进行渲染