设备推送过来的数据怎么 监听接收 用什么方法 api

小程序开发相关产品技术讨论,包括面板、智能小程序、React Native、Ray跨端框架、Panel SDK、微信小程序、小程序开发工具(IDE)及其他开发技术相关等话题


Post Reply
liao12345
Posts: 17

设备推送过来的数据怎么 监听接收 用什么方法 api


Tags:
lshinylee
Posts: 348

Re: 设备推送过来的数据怎么 监听接收 用什么方法 api

要监听设备推送过来的数据,可以通过以下两种方法实现:

方法一: 使用 onDpDataChange

可以使用 onDpDataChange API 来监听设备上报的数据点变化。以下是实现示例:

Code: Select all

import { onDpDataChange } from '@ray-js/ray';
import {
  onDpDataChange,
  getLaunchOptionsSync,
  registerDeviceListListener
} from '@ray-js/ray';

// 启动参数中获取设备 id
const {
  query: { deviceId }
} = getLaunchOptionsSync();
 
// 监听设备数据变化
const _onDpDataChange = (dpData) => {
  console.log('设备数据变化:', dpData);
  // 处理接收到的 dpData
};
 
registerDeviceListListener({
  deviceIdList: [deviceId],
  success: () => {
    console.log('registerDeviceListListener success');
  },
  fail: (error) => {
    console.log('registerDeviceListListener fail', error);
  }
});
onDpDataChange(_onDpDataChange);

方法二: 使用 useProps

如果你使用的是 React,可以使用涂鸦的 SDM 提供的 useProps Hooks 来监听数据变化:

Code: Select all

import { useProps } from '@ray-js/panel-sdk';

function MyComponent() {
  const dpData = useProps(props => props);
  
  // 可以根据 dpData 的变化来渲染组件或处理数据
  console.log('DP数据:', dpData);

  // 返回组件的 JSX
}

补充说明

  • 适用场景onDpDataChange 适合于任何 JavaScript 项目,而 useProps 更适合于使用 React 的项目。
  • 实时变化:这些方法能够实时监听设备数据的变化并作出响应。

您可以根据项目的具体需求选择合适的监听方法,实现对设备推送数据的实时接收和处理。

:D :D :D

Post Reply