Skip to content

07 页面导航模块

Xiaomi-Yule edited this page Jul 5, 2021 · 5 revisions

miot/host/ui

本地原生业务页面访问与处理

Export: public
Doc_name: 页面导航模块
Doc_index: 7
Doc_directory: host
Example

import {Host} from 'miot'
...
//删除设备
Host.ui.openDeleteDevice()
//分享设备
Host.ui.openShareDevicePage

miot/host/ui~IUi

Kind: inner interface of miot/host/ui


iUi.canOpenStorePage() ⇒ [ 'Promise' ].<Boolean>

是否支持商城

Kind: instance method of IUi
Example

Host.ui.canOpenStorePage().then(res => console("can open store = ", res))

iUi.checkStoreSupporttedOnAndroid() ⇒ boolean

Deprecated

检测Android是否支持集成了商城,目前是通过当前的服务来判断的

Kind: instance method of IUi


iUi.openDeleteDevice([title])

弹出删除设备的对话框

Kind: instance method of IUi

Param Type Default Description
[title] string null 自定义提示,不设置使用默认提示

iUi.openDeleteDeviceWithCallback()

android 设备暂不支持该方法 会直接reject(false) 删除设备 注意:此方法只做删除设备的活,不会返回上一页。所以在then里面,需要自己调用closeCurrentPage

Kind: instance method of IUi


iUi.openShareDevicePage()

打开分享设备的页面

Kind: instance method of IUi


iUi.keepScreenNotLock(flag)

是否保持屏幕常亮

Kind: instance method of IUi

Param Type Default Description
flag Boolean false 默认false

iUi.openRoomManagementPage()

打开房间设备管理的页面

Kind: instance method of IUi


iUi.openVoiceCtrlDeviceAuthPage()

打开语音设备管理的页面

Kind: instance method of IUi


iUi.openIftttAutoPage()

Deprecated

打开添加智能的页面,注意分享的用户无法打开

Kind: instance method of IUi


iUi.openFeedbackInput()

打开反馈页

Kind: instance method of IUi


iUi.openSecuritySetting()

打开安全管理页

Kind: instance method of IUi


iUi.openHelpPage()

打开常见问题页,别名「使用帮助」

Kind: instance method of IUi


iUi.openShareListBar(title, description, imagePath, url)

打开分享列表页面

Kind: instance method of IUi

Param Type Description
title string 标题
description string 描述
imagePath string 和Image source 一样的格式
url string 分享链接

iUi.openSystemShareWindow(pathOrUrl)

打开系统分享文件页面

Kind: instance method of IUi

Param Type Description
pathOrUrl string 分享文件的全路径或者链接url。

iUi.openSystemFileWindow(pathOrUrl)

打开系统文件打开页面 since 10050

Kind: instance method of IUi

Param Type Description
pathOrUrl string 文件的全路径或者链接url。

iUi.getDevicesWithModel(model, includeGroupedDevice) ⇒ [ 'Promise' ].<Array.<devices>>

获取设备列表中指定model的设备信息(仅白名单设备才允许调用此方法,如需使用,请联系插件框架)

Kind: instance method of IUi
Returns: [ 'Promise' ].<Array.<devices>> - 对象中有字段 isGrouped 表示是被分组的设备,includeGroupedDevice = true时才有效

Param Type Default Description
model 指定的model
includeGroupedDevice boolean false since 10046 是否包含被组成了一个组的设备(目前仅窗帘设备可用,灯设备不可用),默认不包含

iUi.openBtGatewayPage()

打开蓝牙网关页

Kind: instance method of IUi


iUi.alertLegalInformationAuthorization(option) ⇒ [ 'Promise' ].<Boolean>

弹窗请求隐私政策和用户协议授权, 支持显示用户体验计划

Kind: instance method of IUi
Returns: [ 'Promise' ].<Boolean> - 弹窗授权结果
Since: 10023

Param Type Default Description
option object 配置数据
option.privacyURL string 隐私协议本地资源
[option.agreementURL] string 用户协议本地资源,未设置时如果hideAgreement=false,显示为默认的用户协议
[option.experiencePlanURL] string 用户体验计划本地资源,为空时如果hideUserExperiencePlan=false,则显示米家默认用户体验计划
[option.hideAgreement] boolean false 是否隐藏用户协议,默认显示用户协议
[option.hideUserExperiencePlan] boolean false 是否隐藏用户体验计划,默认显示用户体验计划
option.force boolean 强制弹出隐私弹框,默认为false。对于共享设备,不建议进行弹窗请求隐私授权,如果一定要弹框,需要设置option.force=true, option.force=false会直接返回失败(相当于拒绝授权)。对于非共享设备,option.force可以不传

Example

可以参考iot文档  project/com.xiaomi.demo/MainPage.js部分样例

iUi.previewLegalInformationAuthorization(option) ⇒ [ 'Promise' ].<Boolean>

查看隐私政策和用户协议信息, 支持显示用户体验计划

Kind: instance method of IUi
Returns: [ 'Promise' ].<Boolean> - 授权结果
Since: 10023

Param Type Default Description
option object 配置数据
option.privacyURL string 隐私协议本地资源
[option.agreementURL] string 用户协议本地资源,未设置时如果hideAgreement=false,显示为默认的用户协议
[option.experiencePlanURL] string 用户体验计划本地资源,为空时如果hideUserExperiencePlan=false,则显示米家默认用户体验计划
[option.hideAgreement] boolean false 是否隐藏用户协议,默认显示用户协议
[option.hideUserExperiencePlan] boolean false 是否隐藏用户体验计划,默认显示用户体验计划

iUi.privacyAndProtocolReview(licenseTitle, licenseUrl, policyTitle, policyUrl)

Deprecated

查看软件政策和隐私协议

Kind: instance method of IUi

Param Type Description
licenseTitle string optional 可以为空
licenseUrl string optional require('资源的相对路径')
policyTitle string 不可以为空
policyUrl string 不可以为空 require('资源的相对路径')

iUi.openPrivacyLicense(licenseTitle, licenseUrl, policyTitle, policyUrl) ⇒ [ 'Promise' ].<Boolean>

Deprecated

软件政策和隐私协议授权 隐私协议弹框需求: a. 所有接入米家的设备,绑定成功后第一次进插件,都需要隐私弹框,后续再进不需弹框 b. 取消隐私授权/解绑设备后,重新绑定设备,仍需遵循规则a 插件端可按如下方案实现:

  1. 使用batchSetDeviceDatas存储一个标志位,用来记录是否“隐私弹框”过
  2. 进入插件时batchGetDeviceDatas获取此标志位,若为NO,弹框,同时设置标志位为YES;若为YES,不弹框
  3. 设备取消授权或解绑设备时,此标志位米家后台会自动清除,故遵循了上述需求b
  4. 异常处理:进插件时,如果网络异常等原因导致batchGetDeviceDatas失败,就不弹框(此时99%情况是第2+次进插件)

Kind: instance method of IUi

Param Type Description
licenseTitle string optional 可以为空
licenseUrl string optional require('资源的相对路径')
policyTitle string 不可以为空
policyUrl string 不可以为空 require('资源的相对路径')

iUi.openChangeDeviceName()

打开重命名对话框

Kind: instance method of IUi


iUi.openAddToDesktopPage()

添加桌面快捷方式

Kind: instance method of IUi


iUi.openDeviceUpgradePage(type)

打开设备检查固件升级页(先检查,后可升级) 针对wifi、AP、第三方云等可以联网的设备的统一OTA方案

Kind: instance method of IUi

Param Default Description
type 0 默认 0 ,进入最新固件升级页面 type字段 自10049支持 1, 进入旧版(native)固件升级页面 type字段 自10049支持

iUi.openDeviceUpgradeHistoryPage()

打开设备检查固件历史版本信息页面

Kind: instance method of IUi


iUi.openBleMeshDeviceUpgradePage()

打开Mesh设备固件升级页。分享的设备点击此接口无反应(理论上分享的设备不应该出现调用此接口的菜单)

Kind: instance method of IUi
Since: 10025 后续蓝牙统一OTA接口openBleCommonDeviceUpgradePage接口传参数param.auth_type = 5时也可以实现此功能(两种方式的原生实现一致),但为了向前兼容厂商已调用的此接口,所以此接口不能下掉


iUi.openBleCommonDeviceUpgradePage(params)

打开通用协议的蓝牙固件OTA页面。分享的设备点击此接口无反应(理论上分享的设备不应该出现调用此接口的菜单)

Kind: instance method of IUi
Since: 10038

Param Type Description
params Object 请求参数
params.auth_type number 指定设备的协议类型 0: 普通小米蓝牙协议设备(新接入设备已废弃该类型),1: 安全芯片小米蓝牙设备(比如锁类产品) 4: Standard Auth 标准蓝牙认证协议(通常2019.10.1之后上线的新蓝牙设备) 5: mesh 设备
params.fake_dfu_url string 指定写入DFU的下载地址,仅在测试环境下有效,指定之后可以强制更新指定DFU固件版本

Example

Host.ui.openBleCommonDeviceUpgradePage({auth_type: 5 })
目前ios在进行OTA前,可以先断开与设备的蓝牙连接,然后再从设备广播的信息中拿到设备auth_type的值(无需传参auth_type),但是安卓暂时不好实现所以接口增加了参数auth_type

iUi.openLightGroupUpgradePage()

打开灯组2.0固件升级页。分享的设备点击此接口无反应(理论上分享的设备不应该出现调用此接口的菜单)

Kind: instance method of IUi
Since: 10031


iUi.openBleGroupUpgradePage(type)

打开Ble 组设备升级页面

Kind: instance method of IUi
Since: 10049

Param Type Description
type Number 蓝牙类型,与蓝牙connect 参数中的type 一致

iUi.openDeviceTimeZoneSettingPage({"sync_device":)

打开设备时区设置页 apiLevel在10025,增加参数的支持,APP修改时区是否需要同步到设备端,前提是设备需要支持miIO.set_timezone 方法 如果sync_device为true,服务端会给设备发送rpc,例如: {'method':'miIO.set_timezone','params':["Asia/Chongqing"]}

Kind: instance method of IUi
Since: 10025

Param Type Description
{"sync_device": Object false} true-需要同步给设备 false-不需要同步给设备(默认)

iUi.openWebPage(url, params)

打开H5页面 不对外提供

Kind: instance method of IUi

Param Type Description
url string 链接地址
params object 可选参数
params.onCurrentPageIfAvailable boolean 为 true 时, 如果已经有一个WebView, 则尝试在当前 WebView 加载 since 10053

iUi.openShopPage(gid)

打开商城某商品详情页面

Kind: instance method of IUi

Param Type Description
gid string 商品ID

iUi.openShopSearchPage(keyword)

打开商城搜索结果页面

Kind: instance method of IUi
Since: 10024

Param Type Description
keyword string 搜索关键字

iUi.openProductBaikeWebPage(url)

打开产品百科H5页面

Kind: instance method of IUi
Since: 10035

Param Type Description
url string 链接地址 值得注意的是,米家对该接口能够打开的url做了限制,目前支持的是包含 ".mi.com",@".xiaomi.com",@"*.xiaomiyoupin.com"的域名

iUi.openMeshDeviceGroupPage(type, did, version)

打开Mesh灯组 添加/编辑 页,Device.pid为17,则为Mesh设备组

Kind: instance method of IUi
Since: 10021

Param Type Default Description
type String 需要打开创建设备组页面时,type=add,需要打开编辑设备组页面时,type=edit
did String 设备did。如果是创建,则是以当前实际设备的did为基础,进入创建灯组页面。如果是编辑,则是灯组的虚拟设备did。
version int 1 灯组版本,目前可选值有1和2,分别代表灯组1.0(旧版灯组)和灯组2.0 ;默认为灯组1.0

iUi.openAddDeviceGroupPage(groupModel)

打开创建设备组页,如果是支持Mesh的设备,请使用上面的openMeshDeviceGroupPage

Kind: instance method of IUi

Param Type Description
groupModel String 设备组model 打开创建设备组页,只有在设备页内,需要创建设备组时,才能调用此方法。如果是设备组页面内,请使用下面的openEditDeviceGroupPage方法 只有特定设备支持创建设备组统一管理

iUi.openEditDeviceGroupPage(dids)

打开编辑设备组页,只有在设备组页内,需要修改设备组时,才能调用此方法。如果是设备页面内,请使用上面的openAddDeviceGroupPage方法

Kind: instance method of IUi

Param Type Description
dids Array 包含组设备did的数组

iUi.openCountDownPage(isCountDownOn, setting)

Deprecated

开启倒计时界面

Kind: instance method of IUi

Param Type Description
isCountDownOn Boolean 设备的当前状态:YES 为开启,所以我们启动关闭倒计时; NO 为关闭,所以我们启动开启倒计时
setting object 设置倒计时页面的属性
setting.onMethod string 指硬件端,打开 倒计时应该 执行的方法,请咨询硬件工程师
setting.onParam string 指硬件端,打开 倒计时应该 传入的参数,请咨询硬件工程师
setting.offMethod string 指硬件端,关闭 倒计时应该 执行的方法,请咨询硬件工程师
setting.offParam string 指硬件端,关闭 倒计时应该 传入的参数,请咨询硬件工程师
setting.identify string since 10021, 用于设置倒计时的identify
options.displayName string 配置场景日志显示的名称:注意,不会更改倒计时页面的标题,只会上传到服务端

Example

Host.ui.openCountDownPage(true, {onMethod:"power_on", offMethod:'power_off', onParam:'on', offParam:'off',displayName:"新名字"})

iUi.openOneTimePassword(did, interval, digits)

打开一次性密码设置页

Kind: instance method of IUi

Param Type Description
did string 设备did
interval int 时间间隔,即密码组的刷新时间间隔,单位为分钟,类型为 number,传入 10 到 60 的整数
digits int 密码位数,类型为 number,传入 6 到 8 的整数

iUi.openTimerSettingPage(onMethod, onParam, offMethod, offParam)

Deprecated

这个api 应该可以废弃了,使用 Service.scene.openTimerSettingPageWithOptions()

Kind: instance method of IUi

Param Type Description
onMethod string 定时到时设备“开”执行的 RPC 指令命令字字符串
onParam string 定时到时设备“开”执行的 RPC 指令参数字符串(目前仅支持单参数)
offMethod string 定时到时设备“关”执行的 RPC 指令命令字字符串
offParam string 定时到时设备“关”执行的 RPC 指令参数字符串(目前仅支持单参数)

iUi.openTimerSettingPageWithCustomIdentifier(customTimerIdentifier, onMethod, onParam, offMethod, offParam)

Deprecated

这个api 应该可以废弃了,使用 Service.scene.openTimerSettingPageWithOptions()

Kind: instance method of IUi

Param Type Description
customTimerIdentifier string 自定义定时Identifier
onMethod string 定时到时设备“开”执行的 RPC 指令命令字字符串
onParam string 定时到时设备“开”执行的 RPC 指令参数字符串(目前仅支持单参数)
offMethod string 定时到时设备“关”执行的 RPC 指令命令字字符串
offParam string 定时到时设备“关”执行的 RPC 指令参数字符串(目前仅支持单参数)

iUi.openTimerSettingPageWithVariousTypeParams(onMethod, onParam, offMethod, offParam)

Kind: instance method of IUi

Param Type Description
onMethod string 定时到时设备“开”执行的 RPC 指令命令字字符串,指硬件端,打开定时应该执行的方法,请咨询硬件工程师,miot-spec下,一般为:set_properties
onParam json 定时到时设备“开”执行的 RPC 指令参数,可以是字符串、数字、字典、数组,指硬件端,打开定时应该传入的参数,请咨询硬件工程师,iot-spec下,一般为:[{did,siid,piid,value}]
offMethod string 定时到时设备“关”执行的 RPC 指令命令字字符串,,参数请与嵌入式的同学沟通,指硬件端,关闭定时应该执行的方法,请咨询硬件工程师,miot-spec下,一般为:set_properties
offParam json 定时到时设备“关”执行的 RPC 指令参数,可以是字符串、数字、字典、数组,指硬件端,关闭定时应该传入的参数,请咨询硬件工程师,miot-spec下,一般为:[{did,siid,piid,value}]

Example

Host.ui.openTimerSettingPageWithVariousTypeParams("power_on", ["on", "title"], 'off',"title"}),

iUi.openTimerSettingPageWithOptions(options)

Deprecated

扩展自 openTimerSettingPageWithVariousTypeParams , 新增支持自定义name使用

Kind: instance method of IUi
Since: 10010 ,SDKLevel 10010 开始提供使用

Param Type Description
options object 配置信息
options.onMethod string 配置定时开启的 method 名,同上面openTimerSettingPageWithVariousTypeParams的参数onMethod
options.onParam string 配置定时开启的 参数,同上面openTimerSettingPageWithVariousTypeParams的参数onParam
options.offMethod string 配置定时关闭的 method 名,同上面openTimerSettingPageWithVariousTypeParams的参数offMethod
options.offParam string 配置定时关闭的 参数,同上面openTimerSettingPageWithVariousTypeParams的参数offParam
options.displayName string 配置场景日志显示的名称
options.identify string 自定义定时Identifier
options.onTimerTips string 定时列表页面、设置时间页面 打开副标题(默认:开启时间)
options.offTimerTips string 定时列表页面、设置时间页面 关闭时间副标题(默认:关闭时间)
options.listTimerTips string 定时列表页面 定时时间段副标题(默认:开启时段)
options.bothTimerMustBeSet boolean 是否强制要求设置时间段? true: 强制设置时间段(默认:false)如果设置true,忽略下面三个参数
options.showOnTimerType boolean 是否可以创建:定时开启? true: 可以,false:不可以(默认:true)
options.showOffTimerType boolean 是否可以创建:定时关闭? true: 可以,false:不可以(默认:true)
options.showPeriodTimerType boolean 是否可以创建:时间段定时? true: 可以,false:不可以(默认:true) 注意:showOnTimerType、showOffTimerType、showPeriodTimerType三个参数至少有一个为true,才有效,否则三个中任意都会被忽略掉

Example

Host.ui.openTimerSettingPageWithOptions({onMethod:"power_on", onParam: "on", offMethod: "power_off", offParam: "off", displayName:"设置xxx定时",identify:"plug_usb_countdowm"})

iUi.openPowerMultikeyPage(did, mac)

更多设置-多键开关设置页面

Kind: instance method of IUi
Since: 10010 ,SDKLevel 10010 开始提供使用

Param Type Default Description
did string 设备did 指定设备ID
mac string null 设备mac option, 在不传递时。默认使用当前设备

Example

Host.ui.openPowerMultikeyPage(did, mac);

iUi.addOrCopyIR(did, type, models, extra)

添加或者复制一个红外遥控器

Kind: instance method of IUi
Since: 10003

Param Type Default Description
did string 设备did
type number 0 0:添加遥控器;1:复制遥控器。默认0
models array 一组红外遥控器model,只传入一个model将直接跳转到相应的品牌列表或者机顶盒列表,支持的models见文档。默认空数组[]
extra object 额外配置,会传入打开的插件页,也有部分特殊功能定义字段如下:
[extra.create_device] boolean true 米家首页列表是否展示虚拟遥控器设备。默认true。暂时只有android支持
[extra.dismiss_current_plug] boolean true since 10020 。在推出新的插件页面时,关掉当前页面,返回app首页。iOS Only

iUi.openDevice(did, model, params) ⇒ [ 'Promise' ].<json>

打开用户账号下某一设备的插件

Kind: instance method of IUi
Returns: [ 'Promise' ].<json> - 打开插件失败,返回错误信息;打开插件成功,无回调信息

Param Type Default Description
did string 设备的did
model string 设备的model
params object 额外参数,打开插件时传入,也有部分特殊功能定义字段如下:
[params.dismiss_current_plug] boolean true since 10020 。是否在推出新的插件页面时,关掉当前页面,返回app首页。iOS Only

iUi.openPluginPage(did, pageName, pageParams)

打开用户账号下某一设备的插件,可支持跳转到插件的某一页面 至于跳转到哪个页面,需要插件方做支持,示例可以参考com.xiaomi.demo 中 Host.ui.openPluginPage 的使用 整体流程如下: 插件调用此方法openPluginPage ⬇ ️ 将参数传到native ⬇ native调用打开插件的方法,带上此处传递的参数 ⬇ native打开RN页面,将参数传递到Package.js ⬇ 支持打开内部页面的插件,通过Package.entrance获取将要跳转到哪个页面,通过Package.pageParams获取此页面需要的页面参数 ⬇ 打开插件对应页面,注意:如果isBackToMainPage为true,则需要在你的插件首页的componentDidMount中,增加跳转逻辑,反之,则应该在index.js中控制入口界面。详细使用请参考Demo中 openPluginPage、Package.entrance、Package.pageParams三个方法的使用

Kind: instance method of IUi
Since: 10026

Param Type Default Description
did string 设备的did
pageName string "main" 将打开插件的某一页面, 此参数将会赋值给 Package.entrance, 默认为 Entrance.Main
pageParams object 将打开插件的某一页面的参数,此参数将会赋值给 Package.entranceParams, 默认为空
[pageParams.isBackToMainPage] boolean true 打开的插件页面按返回,是否需要返回到插件首页
[params.dismiss_current_plug] boolean since 10040 。是否在推出新的插件页面时,关掉当前页面,返回app首页,默认false。iOS Only

Example

let pageParams = {did:Device.deviceID,model:Device.model}
Host.ui.openPluginPage(Device.deviceID, PluginEntrance.Setting, pageParams)

iUi.openPageWithClassName(className)

打开一个原生类 className ,界面类类名 注意 用此方法打开的vc初始化时不需要传参数, 需要传参的viewController暂时还需要手动导出

Kind: instance method of IUi

Param Type Description
className string 类的名字

iUi.openNewMorePage()

Deprecated

Kind: instance method of IUi


iUi.openPhoneBluSettingPage()

Kind: instance method of IUi
Since: 10002 android特有页面,ios 不能使用 打开手机蓝牙设置页面


iUi.openXiaoAiLearnPage(clientId, did, aiMiotClientId, aiClientId, aiVersion, otherParams)

打开小爱训练计划

Kind: instance method of IUi

Param Type Description
clientId string
did string 设备 ID
aiMiotClientId string 米家的客户端 ID
aiClientId string 水滴平台的客户端
aiVersion string "" 不隐藏 "thirdpart" 隐藏 “一段录音” “设备控制” 按钮 "audio" 隐藏 “一段录音” 按钮 "device" 隐藏 “设备控制” 按钮
otherParams object 想怎么玩都行的参数,会覆盖之前的

iUi.showBLESwitchGuide()

显示提示用户打开蓝牙的动画示意图, 仅在iOS下有效,Android下无反应

Kind: instance method of IUi
Since: 10004


iUi.dismissBLESwitchGuide()

隐藏提示用户打开蓝牙的动画示意图, 仅在iOS下有效,Android下无反应

Kind: instance method of IUi
Since: 10004


iUi.openConnectSucceedPage(model, did)

打开设备快连成功页面

Kind: instance method of IUi
Since: 10004

Param Type Description
model string 设备model
did string 设备did

iUi.openCurtainGroupNamePage(groupDid, leftDid, rightDid)

打开窗帘组选房间设置名称的页面

Kind: instance method of IUi
Since: 10049

Param Type Description
groupDid string 组设备did
leftDid string 左侧窗帘did
rightDid string 右侧窗帘did

iUi.openZigbeeConnectDeviceList(did)

打开Zigbee 网关插件开启子设备快连

Kind: instance method of IUi
Since: 10020

Param Type Description
did string 网关设备did

iUi.openDeviceNetworkInfoPage()

打开设备网络信息页面,米家已提供入口:设置 - 更多设置 - 网络信息。此方法只针对wifi设备,combo设备,蓝牙设备请不要调用此方法。

Kind: instance method of IUi
Since: 10026


iUi.openMiPayPageForAndroid(params) ⇒ [ 'Promise' ].<object>

android 特有, 跳转到小米钱包

Kind: instance method of IUi

Param
params

Example

let params = {action:'issue_mifare',type:'1',product_id:'66666-00211',source_channel:'mijia'};
Host.ui.openMiPayPageForAndroid(params).then((res)=>{console.log(res)}).catch((error)=>{ console.log(error)});

iUi.openPluginRecommendScene(did, recommendId)

跳转到设备定向推荐界面,注意:SDK_10024及其之后才可使用

Kind: instance method of IUi
Since: 10024

Param Type
did String
recommendId number

iUi.refreshDeviceList() ⇒ Promise

刷新设备列表,同时刷新设备列表页UI

Kind: instance method of IUi
Since: 10025


iUi.openTerminalDeviceSettingPage(type)

跳转到终端设备指定的设置页面 如 iPhone和安卓手机的系统设置页面

Kind: instance method of IUi
Since: 10036

Param Type Description
type number type = 1 打开手机设置页中米家app配置页面 10036及以上 有效 type = 2 WiFi设置页面 10036及以上 有效 type = 3 WiFi选择页面 10047及以上 有效(仅Android),iOS上无任何效果

iUi.openAndroidLocationServerSettingPage()

打开Android系统位置信息设置页(不同于权限配置页) only Android

Kind: instance method of IUi
Since: 10038


iUi.openResetAndConnectDevicePage()

打开设备重置页面

Kind: instance method of IUi
Since: 10041


iUi.openVoiceCtrlDevListPage()

打开语音授权页面

Kind: instance method of IUi
Since: 10041


iUi.openStereoSettingPage()

打开立体声设置页面

Kind: instance method of IUi
Since: 10041


iUi.openXiaoaiContentPage()

跳转到米家播放音乐页面

Kind: instance method of IUi


iUi.openClockMusicSelector(ringtone_tab, ringtone_id, ringtone_name, ringtone_query)

跳转到选择闹钟音乐页面,入参是为了告诉native当前选中的是哪个铃声,以高亮当前选中

Kind: instance method of IUi

Param Type Description
ringtone_tab string 铃声tab
ringtone_id string 铃声的id
ringtone_name string 铃声的name
ringtone_query string 铃声的query 返回值:{code:0,data:{ringtone_tab: 'xxx', ringtone_id: 'voice.white_noise', ringtone_name:'xxx',ringtone_query: '森林的声音'}} 错误时:{code:-1,message:'xxxxxx'}

iUi.openEarthquakeLocationSelector(name, district, city, latitude, longitude)

跳转到地震播报选择地理位置页面,入参是为了告诉native当前选中的是哪个位置

Kind: instance method of IUi

Param Type Description
name string 所选位置的名称
district string 所选位置的区
city string 所选位置的城市
latitude number 所选位置的纬度
longitude number 所选位置的经度 返回值:{code:0,data:{name: '武汉市汉阳医院', district: '汉阳区', city:'武汉市', latitude: 30.554658, longitude: 114.252377}} 错误时:{code:-1,message:'xxxxxx'}

iUi.openIOSDocumentFileChoosePage() ⇒ Promise

打开文件选择页面 only for iOS 在使用前建议判断平台

Kind: instance method of IUi
Returns: Promise - 成功时返回 { code: 0 , data: [ { path: xxx, fileName: xxx, ext: xxx, fileSize: xxx}, {...}] } 其中 path 是文件的绝对地址,ext是扩展名,fileName是文件名,byteLen 是文件 size 单位是byte 需要特别说明的是: 1:data 返回的数组类型 在 10042 中目前仅返回一个文件信息,不支持多选 2:如果用户没有选择任何文件,例如点击了左上角的取消按钮,那么 data 中会返回空数组,开发人员需要对此做处理。 失败时返回 { code: -1, message: 'file authorized failed'} // 在ios中 获取icloud需要验证授权,此处错误代表授权失败,如果出现此错误,请联系米家开发人员或提交工单反馈。 { code: -2, message: 'file read error'} // 出现此种错误 代表 ios 获取授权文件路径失败,如果出现此错误,请联系米家开发人员或提交工单反馈。 { code: -3, message: 'method [openIOSDocumentFileChoosePage] can only be invoked on iOS, Android is not supported.' }
Since: 10042


iUi.openNFCWriteDeviceInfoPage(extra)

Kind: instance method of IUi
Since: 10049 打开NFC写设备数据的页面,默认会写入设备的基本信息(如did,model等),如果插件还需要写入其他数据,可以通过参数extra传给App; 在米家首页,手机接触到NFC设备时会读取写入的设备信息,读取成功后会自动打开相应的插件,插件可以通过Package.entryIfno.nfcdata获取 写入NFC设备的extra字段的值

Param Type Description
extra string 需要写入到nfc设备的额外数据

Example

let extra = 'test_data';
Host.ui.openNFCWriteDeviceInfoPage(extra);

iUi.openNFCWriteDeviceInfoDebugPage(params)

Kind: instance method of IUi
Since: 10056 打开NFC写设备数据的调试页面。 注意:该接口仅限于调试使用,只在DB包可用,线上版本不可用。仅特定插件可用。 在米家首页,手机接触到NFC设备时会读取写入的设备信息,读取成功后会自动打开相应的插件,插件可以通过Package.entryIfno.nfcdata获取

Param Type Description
params jsonobject 需要写入到nfc设备数据; params的格式如下: { did: string类型,设备的did,必填,且不能为空 model: stringl类型, 对应插件的model,必填,切不能为空 extra: json格式的string类型,需要写入到设备的额外参数,选填 }

Example

let params={
 did: Device.deviceID,
 model: Device.model,
 extra: JSON.stringify({key:'value'})
}
Host.ui.openNFCWriteDeviceInfoDebugPage(params);

iUi.openCommonDeviceSettingPage(type)

Kind: instance method of IUi
Since: 10052 打开常用设备/常用摄像机设置页面

Param Type Description
type string type=0代表常用设备,type=1代表常用摄像机

Example

Host.ui.openCommonDeviceSettingPage(1);

iUi.getFreqCameraNeedShowRedPoint() ⇒ object

Kind: instance method of IUi
Returns: object - 成功时:{code:0,data:[true|false]}
Since: 10052 是否需要展示常用摄像机小红点


iUi.clearFreqCameraNeedShowRedPoint()

Kind: instance method of IUi
Since: 10052 清除常用摄像机小红点


iUi.openGenerateCrontabStringPage()

Kind: instance method of IUi
Param{object}param(optional)。: param.crontab(string)表示描述定时任务的字符串,当传入的值有效时进入页面会展示对应的定时状态 param.title(string),要显示的标题 param.hideLegalTime(boolean),是否隐藏法定节假日,(当服务器为外服时无法显示法定节假日)
Return{promise}: 成功时返回{code:0,data:{crontab:'xxxxxxx'}} 这个方法不会走reject,原生界面崩溃了代表传入的param.crontab不合法,native端解析失败。
Since: 10055 打开设置定时的页面。 这个页面不同于Service.scene.openTimerSettingPageWithOptions,这个页面只负责选择日期然后返回对应的crontab字符串


iUi.openFirmWareAutoOTAPage()

Kind: instance method of IUi
Since: 10056 打开固件自动更新页面(原生页面位置:设置-》检查更新-》固件自动更新)
Example

Host.ui.openFirmWareAutoOTAPage();

Clone this wiki locally