微信小程序云开发教程-一个js文件如何包含多个云函数
对cloudfunction文件夹右键,选择“新建node.js云函数”,得到index.js文件,一般来说,我们通常在该文件中只包含一个功能函数,那么我们如何包含多个函数呢?
比如我们现在新建一个云函数math,其中包含两个功能add加法运算,multiply乘法运算,代码如下:
// 云函数模板
// 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”
const cloud = require('wx-server-sdk')
// 初始化 cloud
cloud.init({
// API 调用都保持和云函数当前所在环境一致
env: cloud.DYNAMIC_CURRENT_ENV
})
/**
* 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端
*
* event 参数包含小程序端调用传入的 data
*
*/
exports.main = async (event, context) => {
console.log(event)
console.log(context)
switch (event.action) {
case 'add': {
return add(event)
}
case 'multiply': {
return multiply(event)
}
default: {
return
}
}
}
async function add(event) {
return {
result: event.a + event.b
}
}
async function multiply(event) {
return {
result: event.a * event.b
}
}
前端小程序调用的代码如下:
wx.cloud.callFunction({
name: "math",
data: {
action: 'add',
a:1,
b:2
},
success: res => {
console.log(res)
}
})
结果如下:
核心思想就是:通过前端传一个变量action控制要调用云函数中的哪个子函数。