云函数

@Cloud Function

简介 Introduction

特点 Feature

场景 Application

云函数部署流程 Procedure

  1. 在微信开发者工具中创建云函数
  2. 编写云函数代码
  3. 右键云函数目录选择"上传并部署"
  4. 在客户端调用已部署的云函数

创建 Create

// 1. 引入云开发SDK
const cloud = require('wx-server-sdk')

// 2. 初始化云环境
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 3. 导出main函数(云函数入口)
exports.main = async (event, context) => {
  // 函数逻辑
  return result
}
[] 示例
const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event, context) => {
  const { a, b } = event
  const sum = a + b
  
  return {
    sum: sum,
    message: '计算完成'
  }
}

调用 Call

应用1:客户端调用

// 调用云函数
wx.cloud.callFunction({
  name: '函数名',
  data: {
    // 传递的参数
    a: 1,
    b: 2
  },
  success: res => {
    console.log('调用成功', res)
  },
  fail: err => {
    console.error('调用失败', err)
  }
})

应用2:云函数间调用

const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event, context) => {
  // 调用其他云函数
  const result = await cloud.callFunction({
    name: 'otherFunction',
    data: { param: 'value' }
  })
  
  return result
}

应用3:云数据库操作示例

const cloud = require('wx-server-sdk')
cloud.init()

exports.main = async (event, context) => {
  const db = cloud.database()
  
  try {
    // 查询数据
    const result = await db.collection('users').get()
    return result
  } catch (error) {
    return { error }
  }
}