云开发有什么好处?
云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
云开发能做什么?
- 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码
- 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 数据库
- 存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理
云开发一些注意点
- 无游客模式、也不可以使用 测试号
- project.config.json 中增加了字段 cloudfunctionRoot 用于指定存放云函数的目录
- cloudfunctionRoot 指定的目录有特殊的图标
- 云开发能力从基础库 2.2.3 开始支持
- 在实际开发中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。以初始可创建的两个环境为例,建议一个创建为 test 测试环境,一个创建为 release 正式环境
云数据库
一个 JSON 数据库,即数据库中的每条记录都是一个 JSON 对象。一个数据库可以有多个集合,集合可看做一个 JSON 数组,数组中的每个对象就是一条记录,记录的格式是 JSON 对象。
云存储
一块存储空间,提供了上传文件到云端、带权限管理的云端下载能力
云函数
一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码
使用服务端API
- 首先安装依赖 wx-server-sdk
- 提供哪些函数?
- init(opt) 初始化云环境,可以传入一个选项对象,有env环境属性
- getWXContext() 获取微信上下文对象,可以通过该对象获取小程序用户openid、小程序appid、小程序用户unionid
- database(opt) 获取数据库的引用,可以传入一个选项对象,有env环境属性
- collection(name) 获取指定名称集合的引用,提供了增删改查基本方法,即get、add、remove、update,也提供了其他方法,如统计集合的记录数count、用于条件查询where、用于排序orderby、用于设置记录数limit、用于设置跳过的记录数skip、用于返回指定字段field
- doc() 获取指定记录id的引用
- command 获取数据库指令,便于做筛选查询和更新的操作。提供了比较方法eq、neq、lt、lte、gt、gte,范围限制in、nin,逻辑and、or,更新字段值set,删除字段remove、自增inc、自乘mul、数组类型字段push、pop、shift、unshift进行添加删除操作
- callFunction(obj) 调用云函数,obj对象可以指定name属性和data属性,name指定云函数名,data指定传递给云函数的参数。返回一个Promise对象,有表示错误信息的errMsg参数,表示云函数执行ID的requestID参数,便于云端日志查找,还有表示云函数返回结果的result参数
















