Skip to main content
版本:v3

Sleep

API_LEVEL 2.0 开始支持,API 兼容性请参考 API_LEVEL

睡眠传感器。

信息

权限代码: data:user.hd.sleep

方法

updateInfo

系统默认每 30 分钟更新一次睡眠数据,updateInfo 方法用来主动触发更新睡眠数据

updateInfo(): void

getInfo

获取睡眠信息

getInfo(): SleepInfo

SleepInfo

属性类型说明API_LEVEL
scorenumber睡眠得分2.0
deepTimenumber深睡眠时间(分钟)2.0
startTimenumber睡眠起始时间,基于当天 0 点的分钟数2.0
endTimenumber睡眠结束时间,基于当天 0 点的分钟数2.0
totalTimenumber获取睡眠总时间(分钟)2.0

getStageConstantObj

获取睡眠阶段的常量值,用于在 getSleepStageData 返回值中判断睡眠阶段

getStageConstantObj(): StageConstants

StageConstants

属性类型说明API_LEVEL
WAKE_STAGEnumber清醒阶段2.0
REM_STAGEnumberREM 阶段2.0
LIGHT_STAGEnumber浅睡眠阶段2.0
DEEP_STAGEnumber深睡眠阶段2.0

getStage

获取睡眠分阶段数据

getStage(): Array<StageInfo>

StageInfo

属性类型说明API_LEVEL
modelnumber睡眠阶段类型,值的含义参考 getStageConstantObj 返回的常量2.0
startnumber睡眠阶段起始时间,基于当天 0 点的分钟数2.0
stopnumber睡眠阶段结束时间,基于当天 0 点的分钟数2.0

getSleepingStatus

API_LEVEL 3.0

获取当前睡眠状态,0 醒着,1 正在睡眠

getSleepingStatus(): number

getNap

API_LEVEL 3.0

获取零星小睡数据

getNap(): Array<NapInfo>

NapInfo

属性类型说明API_LEVEL
lengthnumber小睡时长(分钟)3.0
startnumber小睡起始时间,基于当天 0 点的分钟数3.0
stopnumber小睡结束时间,基于当天 0 点的分钟数3.0

代码示例

import { Sleep } from '@zos/sensor'

const sleep = new Sleep()
const { score } = sleep.getInfo()
const sleepStageConstants = sleep.getStageConstantObj()
const stage = sleep.getStage()

stage.forEach((i) => {
const { model } = i

if (model === sleepStageConstants.WAKE_STAGE) {
console.log('This stage is awake stage')
}
})