微信开发与云函数开发注意事项


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,这可能会迷惑到开发者,需要开发者多核验代码多提交工单询问。


文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论