1. 前言
- 本来写云开发系列的,但是发现有些内容单独拆分出来写比较方便
- 万事开头难,下笔如有神,😁😄
2. 云函数调试技巧
- 创建一个云函数
playTest
用作调试
- 加个输出调试就行, return 添加了一个字段
cloudPlay
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
console.log("云函数调试着玩--event:", event);
console.log("云函数调试着玩--context:", context);
return {
event,
cloudPlay:"假装服务器 返回的",
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
-
右键开启云函数本地调试
调试.jpg
-
第一次会提示安装依赖
依赖.jpg
-
安装完可以在右键开启云函数本地调试
调试.jpg
- 本地调试不需上传部署云函数
- 如果修改了云函数,最好在每次手动部署下,以防忘记
- 可以配合断点进行调试
3. 页面调用云函数
-
app.json
配置测试界面 play
-
app.json配置,这里可能很多人为了方便调试会利用小程序默认显示
pages
的第一个界面的特性来调试,我们不放第一个,后续通过编译模式来调试,单独后面讲如何配置
"pages": [
"pages/index/index",
"pages/todoDetail/todoDetail",
"pages/addTodo/addTodo",
"pages/play/play"
],
- 直接在钩子里面测试调用吧
- 调用云函数的固定的写法 name为云函数的名字
- data为需要传递的参数 会被云函数第一个参数接收
- 还有个config配置这里没有使用
Page({
onLoad(options) {
this.playCloudFn()
},
async playCloudFn() {
let result = await wx.cloud.callFunction({
name: "playTest",
data: {
test: "参数",
content: "类型 内容随便写"
}
})
console.log("云函数 结果:", result);
}
})
4. 编辑模式
-
编译模式菜单
弹出编译模式.jpg
-
编译模式配置
配置.jpg
-
修改编译模式
修改.jpg
-
删除编译模式
1.jpg
- 这个添加编译模式 在本地开发或者云开发都是可以使用的
5. 编译
- 点击编译开启调试
-
效果
演示.jpg
-
event
就是小程序端调用云函数时传入的参数,外加
后端自动
注入的小程序用户的 openid
和小程序的appid
。
-
context
对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况,这里打印是空对象,可以在线上环境打印试下
- 返回结果是个
Promise
有三个字段
-
result
云函数返回的结果
-
requestID
云函数执行 ID,可用于日志查询
-
errMsg
提示信息
- 注意 传递大数据字段.
如果 data 中包含大数据字段(建议临界值 100KB),建议使用 wx.cloud.CDN
标记大数据字段,标记后在调用云函数时,该字段的内容将会上传至临时 CDN,然后在云函数中接收到的该字段值将是 CDN url,可在云函数中下载访问。通过这种方式,可以避免大数据传输造成的性能问题、及避免触及调用链路的传输大小限制
- 传递 buffer
如果在 data 中如果传入了 Buffer 类型的数据,数据在 JSON 序列化
的过程中会被转成 { "type": "Buffer", data: number[] } 的格式
6. 手动触发
-
手动模式触发云函数调试
手动触发.jpg
-
点击调用
调用.png
- 如果点击调用没反应 重新开启云函数本地调试就行,不用百度,没有答案😭😭😭😭
7. 后记
- 一些开发过程的小心得,仅供参考
参考资料
微信云开发
vant
初心
我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落
的崛起;
共勉
网友评论