数据源与物体绑定

概述

本章节介绍三维编辑器中的数据源管理与物体数据绑定功能

该功能用于将外部接口数据动态绑定到场景中的三维物体,实现数据驱动三维展示。 支持接口轮询、实时更新、物体级函数控制,可广泛应用于:

  • 设备状态可视化
  • 医疗数据动态展示
  • 工业监控
  • 商场 / 楼宇信息动态更新
  • BI 驾驶舱三维场景

配置完成后,可在预览页面查看动态效果。导出的插件包中,还有绑定效果和源码,方便二次开发。

二、数据源管理

数据源用于定义接口请求方式与更新策略,是所有数据绑定的基础。

三维编辑器

2.1 数据源功能概览

支持功能:

  • 新增数据源
  • 编辑数据源
  • 删除数据源
  • 测试接口返回数据

2.2 数据源配置项说明

1️⃣ 数据源 ID

  • 唯一标识
  • 用于物体绑定时引用

2️⃣ 接口 URL

  • 请求地址
  • 支持 GET / POST 等方式

示例:

https://www.icegl.cn/addons/tvt/datasource/objectData

3️⃣ 请求方式

支持:

  • GET
  • POST

4️⃣ 轮询间隔(ms)

用于控制接口自动刷新频率。

设置值行为说明
> 0按设置的毫秒数轮询调用接口
= 0仅在初始化时调用一次

⚠️ 当设置为 0ms 时:

  • 数据源只在初始化时执行一次
  • 不会进入轮询机制
  • 适用于一次性数据加载场景

5️⃣ Header 配置

用于填写请求头信息,例如:

{
  "Content-Type": "application/json"
}

6️⃣ Body 配置(POST 请求)

当请求方式为 POST 时可填写:

{
   "type": "rotation",
}

2.3 测试接口

数据源配置完成后可点击:

【测试接口】按钮

功能:

  • 立即发送请求
  • 弹出返回结果提示
  • 用于验证接口是否正常
三维编辑器

三、物体数据绑定

数据源定义完成后,可以将数据绑定到场景中的任意物体。

三维编辑器

3.1 绑定基础信息

每个绑定关系包含以下内容:

1️⃣ 物体 UUID

  • 自动读取当前物体
  • 用于唯一标识场景对象

2️⃣ 数据源 ID

  • 选择已创建的数据源
  • 用于关联接口数据

3️⃣ 激活状态

  • 开启:绑定函数将执行
  • 关闭:暂停数据更新

3.2 绑定函数说明

绑定逻辑通过自定义函数实现:

function (data, object) {
    console.log(data, object)
}

参数说明

参数说明
data接口返回数据
object当前绑定的三维物体

3.3 使用方式示例

例如根据接口状态改变物体颜色:

function (data, object) {
    if (data.status === 'warning') {
        object.material.color.set('#ff0000')
    } else {
        object.material.color.set('#00ff00')
    }
}

3.4 执行流程说明

完整运行逻辑如下:

数据源初始化
    ↓
接口请求
    ↓
获取返回数据
    ↓
遍历绑定该数据源的物体
    ↓
执行绑定函数
    ↓
更新物体状态

四、功能特点总结

  • 支持多数据源管理
  • 支持轮询与一次性请求
  • 支持自定义物体逻辑
  • 无侵入式三维绑定
  • 可随插件导出源码,自行部署,二次开发
  • 适合构建数据驱动三维场景