智能小程序 Ray 开发设备控制 API —— 面板初始化 API 合集

initPanelEnvironment

一键初始化面板环境

需引入DeviceKit,且在>=1.2.6版本才可使用

初始化面板环境 API 主要包含如下功能:

  • 离线弹窗组件
  • 蓝牙连接状态组件
  • 故障列表组件
  • 注册设备监听、监听并处理设备移除事件
  • 连云激活提示组件

为减少业务复杂度,我们在 ray 中将以下 ty.panel API 进行了封装,面板小程序开发者使用当前能力即可,如需了解以下能力可查阅对应文档。

上述能力基于以下原子方法实现

功能说明

离线组件

useDefaultOffline 为 true 时,使用标准离线弹窗组件展示。当设备离线时自动弹出。

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。 

蓝牙连接状态组件

如果所操作的设备为蓝牙设备,或双模设备。在设备离线的情况下进入面板时,会主动尝试连接设备,在连接前会先判断蓝牙相关权限是否已开启,若权限开启再判断系统蓝牙是否开启,在两者都满足的情况下,会进入蓝牙连接流程,界面会显示蓝牙连接状态悬浮窗,连接失败后会显示失败原因。

  • 蓝牙未授权

  • 蓝牙未开启

  • 蓝牙连接中

  • 蓝牙连接失败

  • 蓝牙连接失败提示

故障列表组件

当设备支持 fault 类型的功能点时,将 showFault 属性设置为 true, 则可以使用标准故障组件进行故障展示。

注意: 目前只支持 code 为 fault 的故障功能点

注册设备监听、监听并处理设备移除事件

若要监听设备或群组状态的变更,需要注册相关监听。 initPanelEnvironment 方法中已集成相关调用。

连云激活提示组件

需要连云激活的设备,在进入面板后,会弹出需要连云激活弹窗,提示用户进行激活后使用设备。

类型

/**
 * 面板环境初始化参数
 * */
export interface InitPanelEnvironmentOptions {
  /**
   * @description 是否需要使用默认离线弹窗
   * @default true
   */
  useDefaultOffline?: boolean;
  /**
   * @description 蓝牙提示是否需要阻止交互
   * @default false
   */
  bleCover?: boolean;
 
  /**
   * @description 蓝牙及 toast 提示自定义顶部高度(自定义导航时使用)如: 100px,10vh等
   * @default 0
   */
  customTop?: string;
 
  /**
   *@description 蓝牙连接方式,默认0
   * 0: 网关和app都需要,默认值,本地和网关两个途径任何一个可用均可生效
   * 1: 仅 app, 只会判定本地是否在线, 以及本地连接是否成功
   * 2: 仅网关连接, 只会判定网关是否在线,以及网关连接是否成功
   * @default 0
   */
  bleConnectType?: number;
 
  /**
   * @description 是否显示蓝牙连接状态提示
   *
   * @default true
   * @version 2.10.4
   */
  showBLEToast?: boolean;
 
  /**
   * @description 当前设备 id,默认为 undefined,表示自动从小程序的 query参数中获取
   * @default undefined
   */
  deviceId?: string;
 
  /**
   * @description 当前群组 id,默认为 undefined,表示自动从小程序的 query参数中获取
   * @default undefined
   */
  groupId?: string;
 
  /**
   * @description 微信详细页面路由
   * @default undefined
   */
  deviceDetailPage?: string;
 
  /**
   *@description 是否显示故障提示
   * @default false
   */
 
  showFault?: boolean;
}
 
/**
 * 绑定当前设备或群组基础事件,该方法会调用 initDevInfo 去初始化当前面板中的设备信息
 * @param config: InitPanelEnvironmentOptions 配置项
 */
export declare function initPanelEnvironment(
  options?: InitPanelEnvironmentOptions,
): void;

参数说明

useDefaultOffline

基础库中默认集成了离线弹窗逻辑,适配了 wifi 设备、蓝牙设备、双模设备、网关设备等。其判断逻辑如下:

bleCover

当有蓝牙状态悬浮窗时,是否要添加覆盖层以阻止界面交互。 通常情况下,如果有些功能可以在设备离线时使用(如:数据图表查看),则不需要覆盖住界面。

initPanelEnvironment({ useDefaultOffline: true, bleCover: true });

customTop

当使用自定义状态栏时,可能会出现蓝牙状态悬浮窗显示过于靠界面顶部的情况,此时可通过该属性来自定义该距离,以适配业务需求。该参数接受字符串类型,可传入 px 或百分比等 css 标准长度值(如: '100px', '10%'等)。

initPanelEnvironment({ useDefaultOffline: true, customTop: '120px' });

bleConnectType

在标准逻辑下, 如果所操作的设备为蓝牙设备,则有手机直连和连接网关两种联网方式。默认情况下该参数值为 0,表示同时尝试直连和连接网关,直至失败或某一种方式连接成功。若参数值为 1,则直接使用手机连接设备。若参数为 2, 则使用网关连接。

showBLEToast

在蓝牙设备连接成功或失败时, 是否显示提示。

initPanelEnvironment({ useDefaultOffline: true, showBLEToast: true });

showFault

组件中集成了故障显示逻辑,若该属性设置为 true,则使用内置能力展示设备故障。目前暂时只支持 dpCode 值为 fault 的故障值展示。

initPanelEnvironment({ useDefaultOffline: true, showFault: true });

请求示例

import { initPanelEnvironment } from '@ray-js/ray';
 
initPanelEnvironment({ useDefaultOffline: true });

返回示例

注意事项

调用 initPanelEnvironment 必须在 @ray-js/ray 高于 0.10.3

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。  

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值