云微信小程序:无需搭建<a href="https://www.cyeor.com/tag/%e6%9c%8d%e5%8a%a1" target="_blank">服务器,轻松使用云端能力
使用云微信小程序和小游戏,者无需搭建服务器,即可享受云端能力。云为者提供完整的云端支持,弱化后端和运维概念,使用平台提供的核心业务,快速实现上线和迭代。这一能力与者已使用的云服务相互兼容,互不冲突。
云微信小程序的三大基础能力
目前,云微信小程序提供三大基础能力支持:
- 云函数:在云端运行的代码,微信私有协议天然鉴权,者只需编写自身业务逻辑代码。
- 数据库:一个既可在小程序前端操作,也能在云函数中读写的数据库。
- 存储:在小程序前端直接上传/下载云端文件,在云控制台可视化管理。
如何创建云微信小程序项目
新建项目时,选择一个空目录,填入必要信息(使用云能力必须填写),勾选创建“云项目”,点击创建即可得到一个展示云基础能力的示例小程序。该小程序与普通小程序有以下不同需注意:
- 无游客模式,也不可以使用测试。
- 增加了字段用于指定存放云函数的目录。
- 指定的目录有特殊的图标。
- 云能力从基础库2.2.3开始支持。
云能力的特殊处理
云能力从基础库2.2.3开始支持,但2.2.3或以上的基础库并未完全覆盖所有用户(目前约90%)。如需使上传的代码能够覆盖全量用户,需在配置文件中增加字段。指定后,云能力可以在所有基础库中使用。如果云能力有更新,并不会随着基础库升级而自动升级,需在后续版本发布后重新上传。
开通云能力
创建了第一个云小程序后,在使用云能力之前需要先开通云。在者工具工具栏左侧,点击“云”按钮即可开通云。云开通后自动获得一套云环境,各个环境相互隔离,每个环境都包含的数据库实例、存储空间、云函数配置等资源。每个环境都有唯一的环境标识,初始创建的环境自动成为默认环境。
云控制台的功能
云控制台是管理云资源的地方,控制台提供以下能力:
- 概览:查看云基础使用数据。
- 用户管理:查看小程序用户信息。
- 数据库:管理数据库,可查看、增加、更新、查找、删除数据、管理索引、管理数据库访问权限等。
- 存储管理:查看和管理存储空间。
- 云函数:查看云函数列表、配置、日志和监控。
- 统计:查看云资源具体使用统计信息。
环境管理
一个环境对应一整套的云资源,包括数据库、存储空间、云函数等。各个环境间是相互的,用户开通云后初始默认可拥有最多两个环境。在实际中,建议每一个正式环境都搭配一个测试环境,所有功能先在测试环境测试完毕后再上到正式环境。以初始可创建的两个环境为例,建议一个创建为测试环境,一个创建为正式环境。
云微信小程序的三大基础能力详解
小程序云提供了三个基础能力:数据库、存储和云函数,这一章节我们介绍下这几个能力分别是什么,我们能用他来做什么。
数据库
云提供了一个数据库,数据库中的每条记录都是一个JSON格式的对象。一个数据库可以有多个(相当于关系型数据中的表),可看做一个JSON数组,数组中的每个对象就是一条记录,记录的格式是JSON对象。
关系型数据库和JSON数据库的概念对应关系如下表:
以下是一个示例的数据,假设我们有一个存放了图书记录,其中有两本书:
在图书信息中,我们用title、author来记录图书标题和作者,用characters数组来记录书中的主要人物,用publishInfo来记录图书的出版信息。在其中我们可以看到,字段既可以是字符串或数字,还可以是对象或数组,就是一个JSON对象。
每条记录都有一个_id字段用以唯一标志一条记录、一个_openid字段用以标志记录的创建者,即小程序的用户。需要特别注意的是,在管理端(控制台和云函数)中创建的不会有_openid字段,因为这是属于创建的记录。者可以自定义_id,但不可自定义和修改_openid。_openid是在文档创建时由系统根据小程序用户默认创建的,者可使用其来标识和定位文档。
数据库API分为小程序端和服务端两部分,小程序端API拥有严格的调用权限控制,者可在小程序内直接调用API进行非敏感数据的操作。对于有更高安全要求的数据,可在云函数内通过服务端API进行操作。云函数的环境是与客户端完全隔离的,在云函数上可以私密且安全的操作数据库。
数据库API包含增删改查的能力,使用API操作数据库只需三步:获取数据库引用、构造查询/更新条件、发出请求。以下是一个在小程序中查询数据库的发表于美国的图书记录的例子:
更多的数据库API的使用和数据库管理,可以参考数据库指引章节。
存储
云提供了一块存储空间,提供了上传文件到云端、带权限管理的云端下载能力,者可以在小程序端和云函数端通过API使用云存储功能。
在小程序端可以分别调用wx.cloud.uploadFile和wx.cloud.downloadFile完成上传和下载云文件操作。下面简单的几行代码,即可实现在小程序内让用户选择一张图片,然后上传到云端管理的功能:
上传完成后可在控制台中看到刚上传的图片。
更多的存储API和管理,可以参考存储指引章节。
云函数
云函数是一段运行在云端的代码,无需管理服务器,在工具内编写、一键上传部署即可运行后端代码。
小程序内提供了专门用于云函数调用的API。者可以在云函数内使用wx-server-sdk提供的getWXContext方法获取到每次调用的上下文(openid、appid等),无需维护复杂的鉴权机制,即可获取天然可信任的用户登录态(openid)。
比如我们如下定义一个云函数,命名为add,功能是将传入的两个参数a和b相加:
在者工具中上传部署云函数后,我们在小程序中可以这么调用:
如需在云函数中操作数据库、管理云文件、调用其他云函数等操作,可使用官方提供的wx-server-sdk包进行操作。
更多的云函数管理和API,可以参考云函数指引章节。
总结
通过这个章节,我们已经了解了云是什么,提供了哪些能力,能做什么,接下来跟着我们一起进入指引的章节,看看如何上手吧!