【十一】 10分钟精通微信小程序 | 云函数管理端

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

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

在云函数中使用 wx-server-sdk 调用资源

  • 云函数运行环境即是管理端
  • 云函数中使用 wx-server-sdk
  • 需在对应 云函数目录 下安装 wx-server-sdk 依赖

本地安装:

在创建云函数时会在云函数目录下默认新建一个 package.json 并提示用户是否立即本地安装依赖。请注意云函数的运行环境是 Node.js,因此在本地安装依赖时务必保证已安装 Node.js,同时 node 和 npm 都在环境变量中。

如不本地安装依赖,可以用命令行在云函数 目录下运行:

npm install --save wx-server-sdk@latest

在云函数中调用其他 API 前,同小程序端一样,也需要执行一次初始化方法:

const cloud = require('wx-server-sdk')
// 默认配置
cloud.init()
// 或者传入自定义配置
cloud.init({
  env: 'some-env-id'
})

云函数调用云数据库

  • collection 上的 get 方法会返回一个 Promise,因此云函数会在数据库异步取完数据后返回结果
  • db.collection get()
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
exports.main = async (event, context) => db.collection('todos').get()
// collection 上的 get 方法会返回一个 Promise,因此云函数会在数据库异步取完数据后返回结果

云函数中调用存储

  • 假设我们要 上传 在云函数目录中包含的 一个图片文件(demo.jpg):
  • await cloud.uploadFile
const cloud = require('wx-server-sdk')
const fs = require('fs')
const path = require('path')

exports.main = async (event, context) => {
  const fileStream = fs.createReadStream(path.join(__dirname, 'demo.jpg'))
  return await cloud.uploadFile({ // 上传文件
    cloudPath: 'demo.jpg',
    fileContent: fileStream,
  })
}
  • 在云函数中,__dirname 的值是云端 云函数代码所在目录

云函数中调用其他云函数

  • 假设我们要在云函数中调用另一个云函数 sum 并返回 sum 所返回的结果:
  • await cloud.callFunction
const cloud = require('wx-server-sdk')

exports.main = async (event, context) => await cloud.callFunction({
  name: 'sum',
  data: {
    x: 1,
    y: 2,
  }
})

推荐微信小程序阅读:

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

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