Skip to main content
版本:v3

set

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

支持持久化的定时器,用来唤醒小程序的页面。

信息

权限代码: device:os.alarm

类型

function set(option: Option): Result

参数

Option

属性类型必填默认值说明API_LEVEL
appidnumber-小程序的 App ID,默认当前小程序 ID3.0
urlstring-唤醒小程序的文件路径,支持「设备应用服务」3.0
timenumber-定时器执行的时间,UTC 时间戳,单位秒,该字段优先级高于 delay,每次调用必须传入 timedelay 其中的一个参数3.0
delaynumber-基于当前时间延迟多少秒后执行,单位秒,每次调用必须传入 timedelay 其中的一个参数3.0
paramstring-传递给 app.js 生命周期 onCreate 中的参数3.0
storebooleanfalse定时器是否需要持久化存储(设备重启后依然能够成功执行)3.0
repeat_typenumber-定时器的重复类型,参考定时器定期重复常量3.0
repeat_periodnumberREPEAT_MINUTErepeat_type 设置为 REPEAT_MINUTEREPEAT_HOURREPEAT_DAY 时生效,与 repeat_duration 配合使用,设置一个重复周期,一个重复周期以当前的 repeat_type 为单位,包含 repeat_period 次,提醒前 repeat_duration3.0
repeat_durationnumber1repeat_type 设置为 REPEAT_MINUTEREPEAT_HOURREPEAT_DAY 时生效,定时器一个周期内提醒的次数,与 repeat_duration 配合使用,一个周期以当前的 repeat_type 为单位,包含 repeat_period 次,提醒前 repeat_duration3.0
week_daysnumber-repeat_typeREPEAT_WEEK 时生效,可以自定义一周内重复哪几天,参考定时器周常量3.0
start_timenumber-重复提醒开始的时间,UTC 秒,重复提醒只在重复时间段内生效3.0
end_timenumber-重复提醒结束的时间,UTC 秒,重复提醒只在重复时间段内生效3.0

Result

类型说明
number创建定时器返回的 id,0 为无效 ID,表示定时器创建失败,支持持久化的定时器在系统重启后,ID 仍保持不变

常量

定时器定期重复常量

常量说明API_LEVEL
REPEAT_ONCE重复一次3.0
REPEAT_MINUTE指定重复周期为分钟3.0
REPEAT_HOUR指定重复周期为小时3.0
REPEAT_DAY指定重复周期为天3.0
REPEAT_WEEK指定重复周期为周3.0
REPEAT_MONTH指定重复周期为月3.0
REPEAT_YEAR指定重复周期为年3.0

定时器周常量

常量说明API_LEVEL
WEEK_MON星期一3.0
WEEK_TUE星期二3.0
WEEK_WED星期三3.0
WEEK_THU星期四3.0
WEEK_FRI星期五3.0
WEEK_SAT星期六3.0
WEEK_SUN星期日3.0

代码示例

// At a certain time each day
import { set, REPEAT_DAY } from '@zos/alarm'

const option = {
url: 'pages/index.js',
time: 12345678,
repeat_type: REPEAT_DAY,
}
const id = set(option)

// Every Monday and Wednesday
import { set, REPEAT_WEEK, WEEK_MON, WEEK_WED } from '@zos/alarm'

const option = {
url: 'pages/index.js',
time: 12345678,
repeat_type: REPEAT_WEEK,
week_days: WEEK_MON | WEEK_WED,
}
const id = set(option)

// Reminder every 21 days
import { set, REPEAT_DAY } from '@zos/alarm'

const option = {
url: 'pages/index.js',
time: 12345678,
repeat_type: REPEAT_DAY,
repeat_period: 20,
repeat_duration: 1,
}
const id = set(option)