1. 为什么使用云函数?
云函数的传入参数有两个,一个是 event 对象,一个是 context 对象。 event指的是触发云函数的事件,当小程序端调用云函数时,
- event 就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。
- context 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。在模板中也默认 require 了 wx-server-sdk,
- wx-server-sdk这是一个帮助我们在云函数中操作数据库、存储以及调用其他云函数的微信提供的库
2. 设置数据的时候不能设置undefined,否则并不会存入数据库
this.setData({
oneOpacityTimeoutId:undefined//可以设置成null
})
3. 云函数添加为数组时是插入多条
db.collection('text').add({
data:array//可以是数组也可以是对象,数组是多条,对象是一条
}).then(res => {
console.log(res)
})
4. 云函数获取openid一定时间内有限制
在短时间的只能调用7到12次 之后拿不到 环境是开发工具 线上部署没确认 未找到官方说明 已经关注开发者社区相关问题
目前的方法是,先全局获取一次openid缓存起来避免频繁获取
5. 云开发的限制有点多
6. 数据库查询有限制
数据库查询每条限制20,云函数查询每条限制100,利用limit规避也有限制1000
https://developers.weixin.qq.com/community/develop/doc/000826392c4a88c7aa0a1fedb5b400
7. 云函数默认使用中时区
和很多第三方服务一样,需要手动切换成东八区,否则插入数据库的时间不对。如下配置:
需要在上传的云函数中设置
//main下 此方法仅在本地有效
process.env.TZ = 'Asia/Shanghai'
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/notice.html
8. 设置超时时间
和第七点一样可能需要配置的还有请求超时时间,默认时间为1s,可以根据情况为每个云函数进行配置。
9. 报错信息不正常
云函数的报错信息可能不正确。例如1s的超时时间,它会提示超时3s,这可能会迷惑到开发者,需要开发者多核验代码多提交工单询问。