智能小程序 Ray 开发面板 SDK —— Hooks SDK 汇总(一)

Hooks

Hooks 指的是一系列可能在您开发控制设备面板业务的时候需要用到的 React Hooks 方法集合,我们在 @ray-js/panel-sdk 中做了一层包装,帮助您更方便的开发智能产品。

如何使用

$ yarn add @ray-js/panel-sdk
 
# or
 
$ npm install @ray-js/panel-sdk

then

import {
  usePanelConfig,
  useScreenAlwaysOn,
  useTopBarTitle,
  useIsSigmeshGatewayConnected,
  useProtocolRun,
} from '@ray-js/panel-sdk';

usePanelConfig

@ray-js/panel-sdk^1.12.0 版本开始加入

获取面板小程序运行时对应的产品配置信息,如定时功能配置、跳转链接配置、自定义配置等等。

如下图分别为:

  • 图1:定时功能配置、跳转链接配置,对应返回值中的 panelConfig.bic
  • 图2、3:自定义云能力配置入口及配置界面,对应返回值中的 panelConfig.fun

 

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

代码演示

基础用法

import React from 'react';
import { View } from '@ray-js/ray';
import { usePanelConfig } from '@ray-js/panel-sdk';
import styles from './index.module.less';
 
export function Home() {
  const panelConfig = usePanelConfig();
  // App 基线 5.13.0 以前版本,由 hooks 内部异步获取,因此建议等待初始化完毕后再去使用
  // App 基线 5.13.0 以后版本,设备面板初始化完毕时就已经注入完毕,可以去掉此段等待逻辑
  if (!panelConfig.initialized) return null;
 
  const renderTimer = React.useCallback(() => {
    // ignore some code...
  }, [])
 
  return (
    <View className={styles.view}>
      {/* 在 IoT 产品配置云定时时,显示定时相关逻辑 */}
      {panelConfig?.bic?.timer?.selected && renderTimer()}
    </View>
  );
}

API

const panelConfig = usePanelConfig();

Result

参数说明类型
initialized是否初始化完毕boolean
bic平台配置的云定时和跳转链接CloudConfig
fun小程序自定义配置信息,目前仅开放给官方开发者FunConfig
iot产品界面配置信息,仅公版面板支持,开发者可忽略IoTPublicConfig
themeInfo小程序主题配置数据Record<string, any>
CloudConfig
参数说明类型
jump_url跳转链接配置,selected 说明是否开启{ code: 'jump_url'; description: string; name: string; selected: boolean; }
timer云定时配置,selected 说明是否开启{ code: 'timer'; description: string; name: string; selected: boolean; }
FunConfig

目前仅开放给官方开发者

参数说明类型
tyabirysr4背景色string
tyabis5d9w主题色string
[code: string]其他自定义配置项string
IoTPublicConfig

仅公版面板支持,开发者可忽略

参数说明类型
background背景图片配置项ThemeValue
cloud云定时和跳转链接配置CloudConfig
dps设备功能点相关配置项any
fontColor字体颜色配置项ThemeValue
global全局配置项GlobalConfig
theme主题配置,暗色或亮色系'default' 或 'light'
themeColor主题色配置项ThemeValue
themeImage主题图片配置项ThemeValue
subUiId子界面 IDstring
timestamp界面配置最近更新时间number
other其他配置项Record<string, any>

GlobalConfig

参数说明类型
background背景配置string
fontColor字体颜色配置string
themeColor主题色配置string

Params

返回示例

{
  "initialized": true,
  "bic": {
    "jump_url": {
      "code": "jump_url",
      "description": "设置网页url跳转功能,可跳转商城、官网等网页。",
      "name": "跳转网页",
      "selected": false
    },
    "timer": {
      "code": "timer",
      "description": "涂鸦云提供的定时功能,可设置开关时间、周循环等功能。",
      "name": "定时",
      "selected": true
    }
  },
  "fun": {
    "tyabis5d9w": "#8874e3",
    "tyabirysr4": "#2b4e1f",
    "timestamp": "1719311027366",
    "tyabis5d9w_app": "--app-M1",
    "tyabif5cnr": "smart/ui_design_pkg_icon/xxx.png",
    "tyabirysr4_app": "--app-B1"
  },
  "themeInfo": {
    "--app-B1": "rgba(43, 78, 31, 1.00)",
    "--app-M1": "rgba(136, 116, 227, 1.00)"
  }
}

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

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IoT砖家涂拉拉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值