微信小程序云函数调用
前面是我一些自己的理解,想要直接看使用方法快进调用部分
什么是云函数
云函数本质上就是写在云服务器上的方法,通过微信提供的api可以方便的调用进行使用
云函数官方解释
云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。
小程序内提供了专门用于云函数调用的 API。开发者可以在云函数内使用 wx-server-sdk 提供的 getWXContext 方法获取到每次调用的上下文(appid、openid 等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。
为什么要用云函数
一方面是对服务器的要求,云函数可以节省服务器开支,微信云服务器大约30r一个月,对于个人项目属于可以接受
安全性需求,使用操作云数据库的时候使用云函数来避免泄露
采用用户请求->云函数调用->云数据库操作->返回结果
云数据库
使用的是文档型数据库,自己体验下来对字段和接口没有那么严格的要求,一般使用json就可以进行传递和操作
云函数操作
初始化
- 创建云开发对象
const cloud = require('wx-server-sdk');
从使用sdk创建云对象 - 初始化对象
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
使用init()方法初始化对象cloud.DYNAMIC_CURRENT_ENV是自动获取当前云服务环境的id
获取数据库
- 获取数据库引用
const db = cloud.database(); - 获取 ‘questions’ 集合的引用
const questionsCollection = db.collection('questions');
这里获取了questions的集合(要在云数据库创建)
撰写核心功能方法
exports.main = async (event, context) =>{}即为云函数入口
event是参数集合容器,data中的数据都会映射到这
传入的参数可以使用event.你的参数名来得到,例event.questionCountcontext是一个对象,存放着云函数运行的环境信息、用户身份信息等核心元数据云开发自动生成的,包含openid,APPID,ENV参数
1 | exports.main = async (event, context) => { |
!温馨提示,云函数每次写完都要右键文件夹上传并部署到云服务器!
前端调用云函数
使用 wx.cloud.callFunction()来调用云函数
参数解析
name:函数名(你创建的云函数文件夹名)
data: 传入的数据,根据你云函数所使用的参数来写
1 | wx.cloud.callFunction({ |
完整代码参考
云函数核心js代码
1 | const cloud = require('wx-server-sdk') |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 BoomberBlog!


