前几日,微信推出小程序云开发工具,开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。
云开发为开发者提供完整的云端支持,弱化后端和运维概念,无需搭建服务器,使用平台提供的API进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
下面小编给大家整理了小程序云开发文档:
开发指引
云开发提供了一整套云服务及简单、易用的API和管理界面,以尽可能降低后端开发成本,让开发者能够专注于核心业务逻辑的开发、尽可能轻松的完成后端的操作和管理。
下面我们将分一下部分介绍如何上手使用云能力:
云开发控制台
云开发提供了一个控制台用于可视化管理云资源。控制台包含以下几大模块。
概览:查看云资源的总体使用情况
用户管理:查看小程序的用户访问记录
数据库:管理数据库集合、记录、权限设置、索引设置
存储管理:管理云文件、权限设置
云函数:管理云函数、查看调用日志、监控记录
统计分析:查看云资源详细使用统计
在用户管理中会显示使用云能力的小程序的访问用户列表,默认以访问时间倒叙排列,访问时间的触发点是在小程序端调用wx.cloud.init方法,且其中的traceUser参数传值为true。例:
wx.cloud.init({
traceUser:true
})
初始化
在小程序端开始使用云能力前,需先调用wx.cloud.init方法完成云能力初始化(注意小程序需先开通云服务,开通的方法是点击工具栏左上角的“控制台”按钮)。因此,如果要使用云能力,通常我们在小程序初始化时即调用这个方法。
wx.cloud.init方法的定义如下:
function init(options):void
wx.cloud.init方法接受一个可选的options参数,方法没有返回值。
options参数定义了云开发的默认配置,该配置会作为之后调用其他所有云API的默认配置,options提供的可选配置如下:
字段
数据类型
必填
默认值
说明
env string|object否default默认环境配置,传入字符串形式的环境ID可以指定所有服务的默认环境,传入对象可以分别指定各个服务的默认环境,见下方详细定义
traceUser boolean否false是否在将用户访问记录到用户管理中,在控制台中可见
当env传入参数为对象时,可以指定各个服务的默认环境,可选字段如下:
字段
数据类型
必填
默认值
说明
database string否default数据库API默认环境配置
storage string否default存储API默认环境配置
functions string否default云函数API默认环境配置
示例代码:
wx.cloud.init({
env:'test-x1dzi'
})
API风格
云开发的API风格与框架组件和API风格一致,但同时支持回调风格和Promise风格。在传入API的Object参数中,如果传入了success、fail、complete字段,则我们认为是采用回调风格,API方法调用不返回Promise。如果传入API的Object参数中success、fail、complete这三个字段都不存在,则我们认为是采用Promise风格,API方法调用返回一个Promise,Promise resolve的结果同传入success回调的参数,reject的结果同传入fail的参数。
存储
云存储提供高可用、高稳定、强安全的云端存储服务,支持任意数量和形式的非结构化数据存储,如视频和图片,并在控制台进行可视化管理。云存储包含以下功能:
存储管理:支持文件夹,方便文件归类。支持文件的上传、删除、移动、下载、搜索等,并可以查看文件的详情信息
权限设置:可以灵活设置哪些用户是否可以读写该文件夹中的文件,以保证业务的数据安全
上传管理:在这里可以查看文件上传历史、进度及状态
文件搜索:支持文件前缀名称及子目录文件的搜索
组件支持:支持在image、audio等组件中传入云文件ID
云函数
云函数即在云端(服务器端)运行的函数。在物理设计上,一个云函数可由多个文件组成,占用一定量的CPU内存等计算资源;各云函数完全独立;可分别部署在不同的地区。开发者无需购买、搭建服务器,只需编写函数代码并部署到云端即可在小程序端调用,同时云函数之间也可互相调用。
一个云函数的写法与一个在本地定义的JavaScript方法无异,代码运行在云端Node.js中。当云函数被小程序端调用时,定义的代码会被放在Node.js运行环境中执行。我们可以如在Node.js环境中使用JavaScript一样在云函数中进行网络请求等操作,而且我们还可以通过云函数后端SDK搭配使用多种服务,比如使用云函数SDK中提供的数据库和存储API进行数据库和存储的操作,这部分可参考数据库和存储后端API文档。
云开发的云函数的独特优势在于与微信登录鉴权的无缝整合。当小程序端调用云函数时,云函数的传入参数中会被注入小程序端用户的openid,开发者无需校验openid的正确性因为微信已经完成了这部分鉴权,开发者可以直接使用该openid。
相关阅读