【九】10分钟精通微信小程序 | 云函数

承接微信小程序开发。扫码加微信,备注【】:

【九】10分钟精通微信小程序 | 云函数_第1张图片
小程序开发

云函数(服务端的使用)

配置项目云函数路径

在项目根目录找到 project.config.json 文件,
新增 cloudfunctionRoot 字段,
指定本地已存在的目录作为云函数的本地根目录

  • 最好为相对路径

project.config.json :

{
  "cloudfunctionRoot": "./cloud/functions/" //项目根目录下的cloud/functions文件夹
}
  • 云函数的根目录的图标会变成 “云目录图标”
【九】10分钟精通微信小程序 | 云函数_第2张图片
image.png

接着,我们在云函数根目录上右键,在右键菜单中,可以选择创建一个新的 Node.js 云函数,
我们将该云函数命名为 add。
开发者工具在本地创建出云函数目录和入口 index.js 文件,
同时在线上环境中创建出对应的云函数。
创建成功后,工具会提示是否立即本地安装依赖,确定后工具会自动安装 wx-server-sdk。我们可以看到类似如下的一个云函数模板:

index.js

const cloud = require('wx-server-sdk')
// 云函数入口函数
exports.main = async (event, context) => {

}
  • 云函数的传入参数有两个,一个是 event 对象,一个是 context 对象。

event:
event 指的是触发云函数的事件,当小程序端调用云函数时,event 就是小程序端调用云函数时传入的参数,外加后端自动注入的小程序用户的 openid 和小程序的 appid。

context 对象包含了此处调用的调用信息和运行状态,可以用它来了解服务运行的情况

在模板中也默认 require 了 wx-server-sdk,这是一个帮助我们在云函数中操作数据库、存储以及调用其他云函数的微信提供的库

修改示例代码:

exports.main = async (event, context) => ({
  sum: event.a + event.b // 将传入的 a 和 b 相加并作为 sum 字段返回给调用端。
})

在小程序中调用这个云函数前,我们还需要先将该云函数部署到云端。在云函数目录上右键,在右键菜单中,我们可以将云函数整体打包上传并部署到线上环境中。

部署完成后,我们可以在小程序中 (客户端) 调用该云函数:

  • wx.cloud.callFunction 函数
  • 传入name 和data 参数
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: 1,
    b: 2,
  },
})
  .then(res => {
    console.log(res.result) // 3
  })
  .catch(console.error)

加入星球,共同学习,解决你所遇到的问题。

【九】10分钟精通微信小程序 | 云函数_第3张图片
image.png

推荐微信小程序阅读:

【十一】 10分钟精通微信小程序 | 云函数管理端
【十】 10分钟精通小程序 | 云函数异步返回结果
【九】10分钟精通微信小程序 | 云函数
【八】 10分钟精通微信小程序云存储 | 云存储
【七】10分钟精通微信小程序 | 增删改查
【六】10分钟精通微信小程序 | 增删改查
【五】10分钟精通微信小程序 | 云数据库增删改查
【四】10分钟精通微信小程序 | 云控制台
【三】10分钟精通微信小程序 | 光速入门
【二】10分钟精通微信小程序云开发 | 多图上传并存储路径到云数据库
【一】10分钟精通微信小程序 | 获取用户openid

你可能感兴趣的:(【九】10分钟精通微信小程序 | 云函数)