简体中文
简体中文
English
联系我们
注册
登录
layout空间导航

射频对外模板

更新时间:2022-03-01 07:55:03下载pdf

本文为您介绍 射频对外模板 的具体功能及其使用方法,更多资源参考 Github 仓库

功能简介

该模板工程适用于涂鸦射频品类产品的面板开发,支持以下功能:

  • 射频设备控制
  • 射频子设备匹配
  • 射频子设备自定义学习
  • 子设备删除和重命名

模板目录

rfRemote
├─ src
│  ├─ api
│  │  └─ index.ts // 放置项目中需要的 API
│  ├─ components
│  │  ├─ BrandItem.tsx // 品类项组件
│  │  ├─ CopyGuide.tsx  // 按键重新学习提示组件
│  │  ├─ DeviceItem.tsx // 设备列表项组件
│  │  ├─ LearnTip.tsx // 自定义学习提示组件
│  │  ├─ LetterSearch.tsx // 品牌列表品牌字母搜索组件
│  │  ├─ MaskView.tsx // 遮罩组件
│  │  ├─ MoreKeys.tsx // 更多按键组件
│  │  ├─ MorePress.tsx // 点击更多组件
│  │  ├─ PercentageToast.tsx // 百分比进度组件
│  │  ├─ SearchInput.tsx // 品牌搜索框组件
│  │  ├─ SectionTitle.tsx // 品牌列表品牌名称组件
│  │  ├─ TopBar.tsx // TopBar 状态栏组件
│  │  ├─ connect.tsx
│  │  ├─ index.ts // components 公共入口
│  │  ├─ modal // 业务 modal 组件
│  │  │  ├─ Inversion.tsx // 反转按钮 modal
│  │  │  ├─ SwitchType.tsx // 开关类型 modal
│  │  │  ├─ index.tsx // modal 入口
│  │  │  └─ interface.ts // modal ts 类型文件
│  │  └─ ripple-animate // 匹配射频子设备时的水波纹动画组件
│  │     ├─ CircleRipple.tsx
│  │     └─ WaterRipple.tsx
│  ├─ composeLayout.tsx // 封装处理了面板内部所需要的设备事件和设备信息
│  ├─ config
│  │  ├─ controlView.ts // 品类配置文件
│  │  ├─ dpCodes.ts // 设备 DP 配置文件
│  │  ├─ index.ts
│  │  ├─ keyConfig.ts // 按键配置文件
│  │  ├─ orderKeys.ts // 按键配置文件
│  │  ├─ panelTheme.tsx // 主题配置文件(自定义组件)
│  │  ├─ subDevInfo.ts // 子设备配置文件
│  │  └─ theme.ts // 主题色配置文件 (全局)
│  ├─ elements.tsx
│  ├─ i18n // 多语言配置文件
│  │  ├─ index.ts
│  │  └─ strings.ts
│  ├─ main.tsx // 主入口文件
│  ├─ models // redux
│  │  ├─ combine.ts
│  │  ├─ configureStore.ts
│  │  ├─ index.ts
│  │  ├─ modules
│  │  │  ├─ common.ts
│  │  │  └─ deviceStore
│  │  │     ├─ asyncActions // 需要请求的 action
│  │  │     │  ├─ api
│  │  │     │  │  ├─ index.ts
│  │  │     │  │  └─ reduxAPI.ts
│  │  │     │  ├─ deleteLearnKey.ts // 删除学习按键
│  │  │     │  ├─ deviceBind.ts // 绑定子设备
│  │  │     │  ├─ getDeviceDps.ts // 获取设备 DP
│  │  │     │  ├─ getDeviceKeys.ts // 获取码库中的按键
│  │  │     │  ├─ getDeviceType.ts // 获取设备支持的品类
│  │  │     │  ├─ getLearnKeyData.ts // 获取子设备自定义学习按键
│  │  │     │  ├─ getSubDevInfo.ts // 获取子设备信息
│  │  │     │  ├─ getSubDevList.ts // 获取子设备列表
│  │  │     │  ├─ index.ts // 入口文件
│  │  │     │  ├─ renameLearnKey.ts // 重命名按键
│  │  │     │  └─ rfPair.ts // 射频子设备进行匹配
│  │  │     ├─ reducers.ts
│  │  │     └─ syncActions.ts // 不需要发起请求的 action
│  │  └─ useFetch
│  │     ├─ api
│  │     │  ├─ dataFetchReducer.ts
│  │     │  └─ index.ts
│  │     └─ index.ts
│  ├─ pages
│  │  ├─ DiyTypeList.tsx // 自定义学习列表
│  │  ├─ EditControl.tsx // 子设备编辑
│  │  ├─ EditLearnKeys.tsx // 学习按键编辑
│  │  ├─ Empty.tsx // 暂无设备
│  │  ├─ RfPair.tsx // 射频匹配
│  │  ├─ SelectBrand.tsx // 品牌选择
│  │  ├─ SelectModel.tsx // 型号选择
│  │  ├─ SelectTypes.tsx // 品类选择
│  │  ├─ SetLimit.tsx // 窗帘行程限位
│  │  ├─ SubHome.tsx // 从首页子设备进入面板
│  │  ├─ Topbar.tsx
│  │  ├─ control // 射频 UI
│  │  │  ├─ ControlView.tsx // UI 处理
│  │  │  ├─ Curtains.tsx // 窗帘
│  │  │  ├─ DIY.tsx // 自定义学习
│  │  │  ├─ FanLight.tsx // 风扇灯
│  │  │  ├─ Garage.tsx // 车库门
│  │  │  ├─ Hanger.tsx // 晾衣架
│  │  │  ├─ Irrigator.tsx // 灌溉器
│  │  │  ├─ Light.tsx // 灯控
│  │  │  ├─ ProScreen.tsx // 投影幕
│  │  │  ├─ RetractDoor.tsx // 伸缩门
│  │  │  ├─ RollerShutters.tsx // 卷帘
│  │  │  ├─ Shutters.tsx // 百叶窗
│  │  │  ├─ Socket.tsx // 插座
│  │  │  ├─ Switch.tsx // 开关
│  │  │  ├─ WindowPusher.tsx // 推窗器
│  │  │  └─ index.tsx // 逻辑处理
│  │  └─ index.tsx // 主入口文件
│  ├─ res
│  └─ utils
│     ├─ asyncStorageAPI.ts // 本地缓存
│     ├─ index.ts // 通用方法
│     ├─ interface.ts // ts 通用接口
│     └─ useControl.ts // 处理所有逻辑

UI 说明

设备匹配

  1. 点击 添加 进入添加流程。

    射频对外模板
  2. 选择品类。

    射频对外模板
  3. 选择品牌。

    射频对外模板
  4. 选择型号。

    射频对外模板
  5. 开始匹配。

    射频对外模板
  6. 匹配完成。

    射频对外模板

DIY 学习

  1. 从选择品类页面 DIY 进入。

    射频对外模板
  2. 有品牌的 DIY 学习,长按按键进入学习。

    射频对外模板
  3. 没有品牌的 DIY 学习,长按按键进入学习。

    射频对外模板

编辑子设备

点击子设备 TopBar 的右上角 编辑,可以进行学习按钮的编辑。

射频对外模板

对于支持行程限位的窗帘品牌,还有行程限位功能,可以设置窗帘开关的最大上下位。

射频对外模板

行程限位:

射频对外模板

Native 接口

重命名子设备

接口名称

TYSdk.native.renameSubDeviceName()

请求参数

参数 数据类型 说明 是否必填
renameInfo { devId: string, name: string } 要重命名的子设备 ID 和重命名后的名称
successCallback () => void 成功回调
failCallback () => void 失败回调

请求示例

/**
 * @desc 重命名子设备
 */
TYSdk.native.renameSubDeviceName(renameInfo, successCallback, failCallback)

删除子设备

接口名称

TYSdk.native.removeSubDevice()

请求参数

参数 数据类型 说明 是否必填
renameInfo { devId: string } 要删除的子设备 ID
successCallback () => void 成功回调
failCallback () => void 失败回调

请求示例

/**
 * @desc 删除子设备
 */
TYSdk.native.removeSubDevice(renameInfo, successCallback, failCallback)

云端 API

获取子设备列表

接口名称

tuya.m.infrared.gateway.get

请求参数

参数 数据类型 说明 是否必填
gwId string 设备 ID TYSdk.devInfo.devId
vendor string 厂商 ID,射频默认为 20

获取子设备类型信息

接口名称

tuya.m.infrared.sub.product.category.rel

请求参数

参数 数据类型 说明 是否必填
productId string 产品 ID TYSdk.devInfo.productId

获取品牌列表

接口名称

tuya.m.infrared.brand.get

请求参数

参数 数据类型 说明 是否必填
countryCode string 国家或地区码,例如 CN 代表中国大陆,UN 代表联合国
pid string 产品 ID TYSdk.devInfo.productId
vendor string 20
brandType number
  • 1:所有品牌
  • 2:热门品牌
devTypeId number 品类 ID

获取型号列表

接口名称

tuya.m.infrared.remoteid.get

请求参数

参数 数据类型 说明 是否必填
countryCode string 国家或地区码,例如 CN 代表中国大陆,UN 代表联合国
devTypeId number 品类 ID
vendor string 20
brandId number 品牌 ID

获取当前子设备学习码

接口名称

tuya.m.infrared.learn.get

请求参数

参数 数据类型 说明 是否必填
subDevId string 设备 ID
vendor string 20

删除学习按键

接口名称

tuya.m.infrared.learn.delete

请求参数

参数 数据类型 说明 是否必填
learningId number 要删除的按键 ID
vendor string 20

重命名学习按键

接口名称

tuya.m.infrared.learn.save

请求参数

参数 数据类型 说明 是否必填
subDevId number 子设备 ID
vendor string 20
learningKeyJSON string 学习按键信息
gwId string 遥控器 ID TYSdk.devInfo.devId

获取射频遥控器码库按键

接口名称

tuya.m.infrared.rfdata.get

请求参数

参数 数据类型 说明 是否必填
devId string 设备 ID
vendor string 20
countryCode string 国家或地区码,例如 CN 代表中国大陆,UN 代表联合国
remoteId number 遥控码 ID

保存子设备

接口名称

tuya.m.infrared.data.bind

请求参数

参数 数据类型 说明 是否必填
productId string 产品 ID
vendor string 20
gwId string 设备 ID TYSdk.devInfo.devId
irDataJSON string 设备信息

射频配对

接口名称

tuya.m.infrared.rf.pair

请求参数

参数 数据类型 说明 是否必填
brandId string 品牌 ID
vendor string 20
gwId string 设备 ID TYSdk.devInfo.devId
devTypeId number 品类 ID
remoteId number 遥控码 ID
countryCode string 国家或地区码,例如 CN 代表中国大陆,UN 代表联合国

获取子设备信息

接口名称

tuya.m.infrared.record.get

请求参数

参数 数据类型 说明 是否必填
subDevId string 子设备 ID
vendor string 20