微信小程序为了方便开发,提供了云开发功能。能够方便的做一些功能交互,下面以我自己的一款小程序做示例,分享一些心得。
- 0.云开发配置
- 1.云函数
- 2.云存储
- 3.云数据库
- 4.云用户管理
0.云开发的配置
1.在项目根目录找到 project.config.json 文件,新增 cloudfunctionRoot 字段,指定本地已存在的目录作为云函数的本地根目录,如图
2.创建一个文件夹cloudfunctions,如图:
3.在app.json写上“cloud”:true字段,如图:
以上云开发的准备工作就做好了,
一个环境对应一整套独立的云开发资源,包括数据库、存储空间、云函数等。各个环境间是相互独立的,用户开通云开发后初始默认可拥有最多两个环境。在实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。以初始可创建的两个环境为例,建议一个创建为 test 测试环境,一个创建为 release 正式环境。
一、云函数
-
1.在cloudfunctions文件夹上,右键新建Node.js云函数,列如我新建了一个countTax云函数:如图
-
2.在文件index.js中,编写云函数。如下图「我传入一个num1,num2,dsc三个变量」
-
3.上传云函数
- 3.1上传并部署:云端安装依赖
-
3.2 上传并部署:所有文件
- 4.云函数的调用
调用方法一:
wx.cloud.callFunction({
// 需调用的云函数名
name: 'add',
// 传给云函数的参数
data: {
a: 12,
b: 19,
},
// 成功回调
complete: console.log
})
wx.cloud.callFunction({
// 云函数名称
name: 'add',
// 传给云函数的参数
data: {
a: 1,
b: 2,
},
success(res) {
console.log(res.result.sum) // 3
},
fail: console.error
})
调用方法二:当然 promise 方式也是支持的
wx.cloud.callFunction({
name: 'add',
data: {
a: 12,
b: 19
}
}).then(console.log)
wx.cloud.callFunction({
// 云函数名称
name: 'add',
// 传给云函数的参数
data: {
a: 1,
b: 2,
},
})
.then(res => {
console.log(res.result) // 3
})
.catch(console.error)