该内容对您有帮助吗?
是否更新时间: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 // 处理所有逻辑
点击 添加 进入添加流程。
选择品类。
选择品牌。
选择型号。
开始匹配。
匹配完成。
从选择品类页面 DIY 进入。
有品牌的 DIY 学习,长按按键进入学习。
没有品牌的 DIY 学习,长按按键进入学习。
点击子设备 TopBar 的右上角 编辑,可以进行学习按钮的编辑。
对于支持行程限位的窗帘品牌,还有行程限位功能,可以设置窗帘开关的最大上下位。
行程限位:
接口名称
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)
接口名称
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 |
|
是 |
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 |
是 |
该内容对您有帮助吗?
是否该内容对您有帮助吗?
是否