2024-08-27 10:08:47 +08:00

2.6 KiB
Raw Permalink Blame History

云函数

所谓云函数,就是一段代码在云端执行,执行完毕后将执行的结果返回给本地。

在使用云函数的时候,分为两个步骤:

  • 本地编写云函数,上传到云端
  • 本地调用云端的函数

上传云函数

首先第一步,我们在 project.config.json 里面配置云函数的目录:

"cloudfunctionRoot": "functions/"

在上面的代码中,我们指定云函数在根目录下的 functions 目录下面

image-20230203141842697

接下来在 functions 下面创建对应的云函数目录,例如:

image-20230203143202123

之后再在 calc 目录中创建对应的 js 文件,书写云函数对应的逻辑:

image-20230203143309653

注意:在编写和调用云函数的时候,一定要注意这是一个异步的过程。

在编写云函数的时候,需要使用到 wx-server-sdk 这个依赖,在终端中 cd 到云函数所在的目录(例如我们这里是 calc然后首先进行 npm init -y 初始化操作,然后输入 npm i wx-server-sdk 安装该依赖。

云函数的传入参数有两个,一个是 event 对象,一个是 context 对象。event 指的是触发云函数的事件,当小程序端调用云函数时,event 就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。context 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况。

现在我们的云函数就已经编写完毕了。

编写完毕后我们需要上传这个云函数到云端

image-20230203143504058

上传云函数成功之后,可以在控制面板的【云函数】面板中看到刚才所上传的云函数。

image-20230203143730905

本地调用云端的函数

在本地,通过 wx.cloud.callFunction 来进行云函数的调用

wx.cloud.callFunction({
  // 云函数名称
  name: 'add',
  // 传给云函数的参数
  data: {
    a: 1,
    b: 2,
  },
  success: function(res) {
    console.log(res.result.sum) // 3
  },
  fail: console.error
})