小程序云开发 - 云函数定时触发器配置
新建云函数timer,小程序会新建两个文件 index.js 和 package.json数据库
定时触发器的效果等同于以下一段代码,定时触发器并不能传递参数,须要将参数写在云函数中。json
wx.cloud.callFunction({ name:'timer' })
本文以定时刷新access_token为例小程序
1.云函数内容
index.jsapp
// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db = cloud.database() var request = require('request') // 定时器 exports.main = async(event, context) => { const appkey = ''; const appsecret = ''; var url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + appkey + '&client_secret=' + appsecret; return new Promise((resolve, reject) => { request({ url: url, method: "POST", json: true, headers: { "content-type": "application/json", }, }, function(error, response, body) { if (!error && response.statusCode == 200) { console.log('通行证为' + body.access_token) resolve(body.access_token) //更新数据库中的access_token } }) }) }
如今已经实现了云函数功能,实现触发器须要在timer文件夹下新建 config.json配置文件。async
config.json文件就是触发器配置的核心文件,文件内容以下,具体匹配规则请查看官方文档。函数
这段代码规则为天天凌晨两点触发一次。ui
config.jsonurl
{ "triggers": [ { "name": "myTrigger", "type": "timer", "config": "0 0 2 * * * *" } ] }
2.部署过程
- 选择timer函数总体 - > 建立并部署(云端安装依赖)
- 单独选中config.json文件 - > 上传触发器