PostMessage 是 HTML5 提供的一种跨窗口、跨域通信机制,它可以在不同窗口之间安全地传递消息。
山海鲸可视化有时可能需要从外部程序或嵌入的网页接收数据,使用 PostMessage 可以让外部应用通过浏览器安全地把数据发送到山海鲸可视化项目中。
在数据源编辑窗口中,在左侧选择“添加数据”选项卡,然后在右侧点击接口分类中的“PostMessage”按钮:

点击“PostMessage”按钮后会弹出输入“连接 PostMessage”的设置框,如下图所示:
_1758852058789.png)
在此处可以修改PostMessage 的连接名称,如下图所示:
_1758852067435.png)
数据响应分为实时更新和累积更新两种方式,它们都用于实现 PostMessage 功能,但它们的工作原理和提供的功能有所不同,下面简单为大家介绍一下它们的特点。
实时更新是指每次外部系统通过 PostMessage 向山海鲸发送数据时,会覆盖原有数据,展示的是最新的一条或一组数据。通常适用于那些需要实时展示当前状态或最新数据的场景,例如设备运行状态、实时监控等传感器数据、安全风险告警事件等。
_1758852733990.png)
累积更新是指每次数据推送会被追加记录下来,形成数据积累。通常适用于需要保留历史记录、用于趋势分析或报表的场景,例如物流轨迹记录、用户行为日志、销售数据每日新增等。
_1758852744858.png)
该链接 ID 为山海鲸自动生成的字符串,唯一标识这个连接,无法修改。用于区分不同的连接,是系统内部识别连接的关键字段。
点击右侧“复制”按钮可以快速复制该链接 ID,如下图所示:
_1758852751262.png)
在下方需要定义表格字段,可以修改“表名”,如下图所示:
_1758852757777.png)
例如以下示例代码,我们可以根据数据字段类型来进行表的设置。
12345{ "order_id": "ORD1001", "amount": 299.9, "created_at": "2025-07-17T09:30:00Z"}
根据以上代码,在表格中的设置,如下图所示:
_1758852763509.png)
数据响应类型选择“累积响应”时,可在下方设置“最大数据量”,用于限制“累积响应”模式下 PostMessage 推送数据的最大保留数量,确保既能连续展示历史,又不会内存溢出或性能下降。
_1758852769645.png)
点击“+添加数据表”,可以新建一个空白数据表,如下图所示:
_1758852777183.png)
点击右侧按钮可以删除当前选中的数据表或字段,如下图所示:
_1758852793078.png)
设置完成后,点击“确定”按钮即可完成 PostMessage 数据的连接。
_1758852800575.png)
为数据表格组件绑定 PostMessage 数据,效果如下图所示:
_1758852811074.png)