Skip to content

数据绑定与动作

数据绑定决定组件显示什么,动作决定用户操作组件后发生什么。

数据绑定模式

静态数据 Static

直接在项目中填写数据,适合原型、说明性图表和不会频繁变化的展示。

单次请求 Request

打开界面或刷新时从指定地址读取一次数据。可设置请求地址、方法、请求头、请求体和响应路径。

定时刷新 Polling

按刷新间隔重复请求,适合几秒或几分钟更新一次的状态。刷新频率过高会增加网络和服务压力。

WebSocket

持续接收实时数据,适合高频状态和事件流。目标服务必须支持浏览器 WebSocket 连接,并在断线时提供可理解的状态提示。

通用绑定属性

属性说明
数据源数据来源名称
请求地址 / WebSocket 地址网络数据入口
请求方法GET、POST 等
请求头 / 请求体请求附加信息
响应路径从响应中取出实际数据,例如 data.items
刷新间隔定时请求的毫秒数
追加数据新数据追加到现有数据后面
最大点数限制折线或实时数据长度

凭据安全

不要把密码、长期密钥或仅限内部使用的访问凭据写入公开项目。浏览器中的项目内容不能作为安全的密钥存储位置。

字段映射

不同组件需要不同字段:

  • label:分类或显示名称;
  • value:主要数值;
  • x / y:折线图坐标;
  • series:多条序列的分组字段;
  • 表格列:每列的显示名称和数据字段。

例如,接口返回:

json
[
  { "time": "10:00", "temperature": 28.6, "device": "Pump A" },
  { "time": "10:05", "temperature": 29.1, "device": "Pump A" }
]

折线图可以把 time 映射到 X,把 temperature 映射到 Y,把 device 映射到序列。

UI 动作分类

UI 显示

动作用途
ui.setVisible设置指定控件显示或隐藏
ui.toggleVisible切换指定控件可见状态

目标可以是控件名称、控件类型或 all。使用“排除自身”可以防止触发按钮把自己隐藏。

对象和材质

动作用途
model.setVisible / object.visible显示或隐藏模型、对象
object.position设置位置
object.rotation设置旋转
object.scale设置缩放
material.setColor / object.material.color修改颜色
material.setOpacity修改透明度
object.material.texture设置单张贴图或图片序列
SetObjectAnimation播放、暂停或控制模型动画

相机和地图

动作用途
camera.set.view切换到保存视角
camera.flyTo飞行到指定相机或位置
camera.curve.setPose设置相机曲线进度
camera.curve.play播放相机曲线
world.fly地图视角飞行
world.object.fly地图中的对象弧线运动

记录和辅助

动作用途
record.query按条件查询记录
record.select选择记录并使用其中的对象或相机信息
model.highlight高亮指定模型
debug.log调试时记录消息
debug.alert调试时弹出提示

调试动作不适合长期保留在正式交付项目中。

示例:滑块控制透明度

  1. 添加滑块。
  2. 设置范围 0–1、步长 0.01
  3. 动作选择 material.setOpacity
  4. 将目标设置为模型识别码。
  5. 运行并拖动滑块验证。

示例:选择记录并定位对象

text
日期范围选择器 → record.query
记录列表 → record.select
选择结果 → model.highlight + camera.flyTo

记录数据需要包含目标对象或相机信息。先验证单条记录,再接入完整数据集。

示例:贴图分组切换产品外观

  1. 添加贴图分组。
  2. 建立“顶部、侧面、底部”等分组。
  3. 为每个贴图项添加图片和名称。
  4. 动作选择 object.material.texture
  5. 设置目标对象及需要修改的材质范围。
  6. 开启“保留贴图配置”,避免切换时丢失重复和偏移设置。

让 3D 内容更容易创建、管理、展示与交付。