Module: miot/Service

系统服务模块,提供了设备,红外,场景,安全,存储,miot-spec协议,账号等子服务模块

Example
import {Service} from 'miot'

Service.getServerName().then(res=>{...})
Service.getUTCTimeFromServer().then(...)

Service.smarthome.reportGPSInfo(...).then(...)

Service.account.ID
Serivce.account.nickName
Service.account.avatar
Service.account.load().then(account=>{})

Service.scene.loadTimerScenes(...).then(scenes=>{})
Service.security.loadSecureKeys(...).then(keys=>{
...
})

Service.storage.getUserConfigs(key).then()

Members

(inner) account :IAccount

当前的用户信息

See:

(inner) ircontroller

红外 相关 API

See:

(inner) scene

场景 API 的调用

See:

(inner) security

安全相关设置操作

See:

(inner) smarthome

设备相关 API

See:

(inner) spec

spec 的请求

See:

(inner) storage

用户存储操作, userProfile

See:

Methods

(static) applyForDeviceIDAndToken(model, mac) → {Promise}

某设备向服务器申请did和token Android暂不支持此方法

Parameters:
Name Type Description
model *

设备的model

mac *

设备的mac地址

Returns:

resolve({res,did,token})

Type
Promise

(static) getServiceTokenWithSid(sid) → {Promise}

传入域名返回 serverToken 等信息,目前只支持小爱音箱的域名 android暂时不支持此方法

Parameters:
Name Type Description
sid string

域名,类似"xxx.xiaomi.com"

Returns:
Type
Promise

(inner) callSmartHomeAPI(api, params)

通用的请求米家后台接口的方法,与米家服务器交互。 不同设备开放的接口请参照与米家后台对接时提供的文档或说明,以后台给出的信息为准。 米家客户端只封装透传网络请求,无法对接口调用结果解释,有问题请直接联系项目对接后台人员或 PM。

想使用某个接口之前,先检查 SDK 是否已经收录,可在 miot-sdk/service/apiRepo.js 文件中查阅。 如果 SDK 暂时没有收录,可通过 issue 提出申请,提供接口的相关信息。

Parameters:
Name Type Description
api string

接口地址,比如'/location/set'

params object

传入参数,根据和米家后台商议的数据格式来传入,比如{ did: 'xxxx', pid: 'xxxx' }

Since:
  • 10024

(inner) getServerName() → {Promise.<{countryName:"", countryCode:"", serverCode:""}>}

获取 米家 App 设置的地区和服务器信息

Returns:
Type
Promise.<{countryName:"", countryCode:"", serverCode:""}>

(inner) getTimeZoneOfServer()

获取服务器所在时区

(inner) getUTCFromServer() → {Promise.<long>}

从米家服务器获取当前UTC时间戳(会发送网络请求)

Returns:
Type
Promise.<long>