使用

单设备支持群组不支持

起步

SmartTapToRunAbility 自 @ray-js/panel-sdk@1.11.0 开始加入。

基础用法

以下为基础 JS 的接入示例:

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

// 创建一个 TapToRun 实例
const TapToRun = new SmartTapToRunAbility().init();

// 调用 TapToRunModel 的功能
TapToRun.getTapToRunRules()
  .then(result => {
    // 处理返回的结果
  })
  .catch(error => {
    // 处理错误情况
  });

Ray & SDM

以下为 Ray 及 SDM 的接入示例:

src/devices/index.ts

生成 wireless 无线开关智能设备模型,并内置一键执行能力

import { SmartDeviceModel, SmartTapToRunAbility } from '@ray-js/panel-sdk';

const options = {
  abilities: [new SmartTapToRunAbility()],
};

const devices = {
  wireless: new SmartDeviceModel<SmartDeviceSchema, { alarm: SmartTapToRunAbility }>(options)
};

src/app.tsx

通过 SdmProvider 接入 React 体系

import React from 'react';
import 'ray';
import '@/i18n';
import { kit, SdmProvider } from '@ray-js/panel-sdk';
import { devices } from '@/devices';

const { initPanelEnvironment } = kit;

interface Props {
  children: React.ReactNode;
}

initPanelEnvironment({ useDefaultOffline: true });

export default class App extends React.Component<Props> {
  onLaunch() {
    console.info('=== App onLaunch');
  }

  render() {
    return (
      <SdmProvider value={devices.sensor}>{this.props.children}</SdmProvider>
    );
  }
}

使用场景

无线开关产品的核心功能可通过 SmartTapToRunAbility 能力实现,建议阅读 无线开关一键执行模板 Codelab 以了解更多。

注意事项

SmartTapToRunAbility 基于以下原子 API 实现,因此 @ray-js/ray 版本需大于 ^1.5.15: