Skip to content

03 通用设置

chengww edited this page Mar 22, 2023 · 8 revisions

Modules

CommonSetting

米家通用设置项

Constants

firstSharedOptions

分享设备的设置项 0: 不显示 1: 显示

AllOptionsWeight

20190708 / SDK_10023 所有设置项顺序固定 权重值越大,排序越靠后,为了可扩展性,权重不能依次递增+1

excludeOptions

某些特殊设备类型不显示某些设置项 key: 设置项的key value: 不显示该设置项的设备类型列表, 用 pid 表示设备类型, [] 表示支持所有设备 0: wifi单模设备 1: yunyi设备 2: 云接入设备 3: zigbee设备 5: 虚拟设备 6: 蓝牙单模设备 7: 本地AP设备 8: 蓝牙wifi双模设备 9: 其他 10: 功能插件 11: SIM卡设备 12: 网线设备 13: NB-IoT 14: 第三方云接入 15: 红外遥控器 16: BLE Mesh 17: 虚拟设备(新设备组)

Typedefs

ItemStyle : Object

ItemStyle - 10040新增 可参考 ListItem组件的部分样式

moreSettingPageStyle : Object

moreSettingPageStyle - 10040新增 二级页面 更多设置 页面的样式

CommonSettingStyle : Object
  • 10040新增

CommonSetting

米家通用设置项

Export: public
Doc_name: 通用设置
Doc_index: 3
Doc_directory: ui
See: com.xiaomi.demo->教程->插件通用设置项
Since: 10004
Author: Geeook
Properties

Name Type Description
firstOptions array 一级菜单列表项的keys,keys的顺序代表显示的顺序,不传将显示全部,传空数组将显示必选项,其中产品百科的配置请参考:https://iot.mi.com/new/doc/accesses/direct-access/productcenter/advance-configure#%E7%AC%AC4%E6%AD%A5%20-%20%E9%85%8D%E7%BD%AE%E4%BA%A7%E5%93%81%E7%99%BE%E7%A7%91
secondOptions array 二级菜单列表项的keys,keys的顺序代表显示的顺序,不传将显示全部,传空数组将显示必选项
showDot array 定义哪些列表项需要显示小红点。为了便于扩展每个列表项都可以显示小红点,默认全部不显示,需要显示传入该列表项的key即可。
commonSettingStyle CommonSettingStyle - 10040新增 CommonSetting 中有关字体样式相关设置
extraOptions object 其他特殊配置项 js // extraOptions extraOptions: { showUpgrade: bool // 「固件升级」是否跳转原生固件升级页面。默认值true。一般来说,wifi设备跳转原生固件升级页面,蓝牙设备(传入bleOtaAuthType除外)不跳转原生固件升级页面 upgradePageKey: string // 「固件升级」如果不跳转原生固件升级页面,请传入想跳转页面的key(定义在 index.js 的 RootStack 中) licenseUrl: 资源id, // 见 miot/Host.ui.privacyAndProtocolReview 的传参说明,SDK_10023 开始废弃 policyUrl: 资源id, // 见 miot/Host.ui.privacyAndProtocolReview 的传参说明,SDK_10023 开始废弃 deleteDeviceMessage: string // 删除设备的弹窗中自定义提示文案,见 miot/Host.ui.openDeleteDevice 的传参说明 ZXhjbHVkZVJlcXVpcmVkT3B0aW9ucw==: [] // %E5%A6%82%E6%9E%9C%E6%83%B3%E8%A6%81%E5%B1%8F%E8%94%BD%E5%BF%85%E9%80%89%E9%A1%B9%EF%BC%8C%E5%9C%A8%E8%BF%99%E9%87%8C%E4%BC%A0%E5%85%A5%20key%20%E5%8D%B3%E5%8F%AF%EF%BC%8C%E4%B8%80%E7%BA%A7%20or%20%E4%BA%8C%E7%BA%A7%E8%8F%9C%E5%8D%95%E7%9A%84%20key%20%E9%83%BD%E5%8F%AF%E4%BB%A5%E3%80%82%E7%89%B9%E6%AE%8A%E9%9C%80%E8%A6%81%EF%BC%8C%E8%B0%A8%E6%85%8E%E4%BD%BF%E7%94%A8 option: object // 见 miot/Host.ui.previewLegalInformationAuthorization 的传参说明 syncDevice: bool // 插件端设置时区后是否需要后台同步到设备端, 见 miot/Host.ui.openDeviceTimeZoneSettingPage 的传参说明 networkInfoConfig: number // 「更多设置」页面是否显示「网络信息」设置项。0:不显示;1:显示;-1:米家默认配置(蓝牙设备不显示,Wi-Fi设备显示) bleOtaAuthType: number // 打开通用的蓝牙固件OTA的原生页面。指定设备的协议类型 0: 普通小米蓝牙协议设备(新接入设备已废弃该类型),1: 安全芯片小米蓝牙设备(比如锁类产品) 4: Standard Auth 标准蓝牙认证协议(通常2019.10.1之后上线的新蓝牙设备) 5: mesh 设备 }
navigation object 必须传入当前插件的路由,即 this.props.navigation,否则无法跳转二级页面 注意: 1. 如果需要显示「更多设置」「固件升级」的二级菜单页面,需要从 miot/ui/CommonSetting 中导出 MoreSetting 和 FirmwareUpgrade 页面, 并放在项目入口文件index.js的RootStack中。 js // index.js snippet import { FirmwareUpgrade, MoreSetting } from "miot/ui/CommonSetting"; ... const RootStack = createStackNavigator( { Setting, // 设置页 MoreSetting, // 二级菜单——更多设置 FirmwareUpgrade, // 二级菜单——固件升级 } ... ) 2. 必须传入当前插件的路由,即 this.props.navigation,否则无法跳转二级页面 js <CommonSetting navigation={this.props.navigation} />

commonSetting.chooseFirmwareUpgrade()

点击「固件升级」,选择性跳转

Kind: instance method of CommonSetting


commonSetting.createGroup()

创建组设备

Kind: instance method of CommonSetting


commonSetting.manageGroup()

管理组设备

Kind: instance method of CommonSetting


commonSetting.removeKeyFromShowDot(key)

从 this.state.showDot 移除某key,从而隐藏小红点

Kind: instance method of CommonSetting

Param Type
key string

commonSetting.openSubPage(page)

打开二级菜单

Kind: instance method of CommonSetting

Param Type Description
page string index.js的RootStack中页面定义的key

commonSetting.openDeleteDevice()

弹出「删除设备」弹窗

Kind: instance method of CommonSetting


firstSharedOptions

分享设备的设置项 0: 不显示 1: 显示

Kind: global constant


AllOptionsWeight

20190708 / SDK_10023 所有设置项顺序固定 权重值越大,排序越靠后,为了可扩展性,权重不能依次递增+1

Kind: global constant


excludeOptions

某些特殊设备类型不显示某些设置项 key: 设置项的key value: 不显示该设置项的设备类型列表, 用 pid 表示设备类型, [] 表示支持所有设备 0: wifi单模设备 1: yunyi设备 2: 云接入设备 3: zigbee设备 5: 虚拟设备 6: 蓝牙单模设备 7: 本地AP设备 8: 蓝牙wifi双模设备 9: 其他 10: 功能插件 11: SIM卡设备 12: 网线设备 13: NB-IoT 14: 第三方云接入 15: 红外遥控器 16: BLE Mesh 17: 虚拟设备(新设备组)

Kind: global constant


ItemStyle : Object

ItemStyle - 10040新增 可参考 ListItem组件的部分样式

Kind: global typedef
Properties

Name Type Description
titleStyle style 标题的自定义样式
subtitleStyle style 副标题的自定义样式
valueStyle style 右侧文案的自定义样式
dotStyle bool 10040新增 title右上角红点的style 建议设置宽高为8,以免图片失真
titleNumberOfLines number 10040新增 设置title字体显示的最大行数 默认为1
subtitleNumberOfLines number 10040新增 设置subtitle字体显示的最大行数 默认为2
valueNumberOfLines number 10040新增 设置value字体显示的最大行数 默认为2
valueMaxWidth number 10051新增 设置value文案的最大宽度 默认为有箭头时30%,无箭头时35%
useNewType bool 10045新增 是否使用新样式 10045以后*!必须!*使用新样式

moreSettingPageStyle : Object

moreSettingPageStyle - 10040新增 二级页面 更多设置 页面的样式

Kind: global typedef
Properties

Name Type Description
navigationBarStyle style 标题的自定义样式 -可参考 NavigationBar 样式
itemStyle style 列表中 item样式
style 10053新增 containerStyle - 标题栏下方内容的样式

CommonSettingStyle : Object

  • 10040新增

Kind: global typedef
Properties

Name Type Description
allowFontScaling bool 10040新增 设置字体是否随系统设置的字体大小的设置改变而改变 默认为true。
unlimitedHeightEnable bool 10040新增 设置控件高度是否自适应。 默认为false,即默认高度
titleStyle style 10040新增 CommonSetting中 "通用设置" 字体的样式
itemStyle ItemStyle 10040新增 CommonSetting中 列表item 的样式
deleteTextStyle object 10040新增 CommonSetting中 "删除设备" 字体的样式
moreSettingPageStyle object 10040新增 CommonSetting中 二级页面 更多设置 页面的样式
titleContainer object 10053新增 CommonSetting中 "通用设置" 所在item的样式
bottomContainer object 10053新增 CommonSetting中 "删除设备" 所在item的样式

Clone this wiki locally