云开发是微信平台新开放的功能,为开发者提供集成了服务器,数据库和资源存储的云服务。本文将基于官方文档,以一个小例子来作为探索云开发的相关功能。
一、新建云开发项目新建项目
将微信开发助手更新之后,选择云开发模板。
项目目录
项目目录分为了2大块内容:cloudfunctions(云函数)和miniprogram。miniprogram存放的是和普通开发相同的业务代码和资源,cloudfunctions中则存放了可以上传至云端的代码,在云开发中被称为云函数。
云开发模板建立之后,会带有一些相关例子可以熟悉api。
二、控制台
微信开发者工具更新之后,在工具栏上会有一个控制台入口,点击可出现以下面板,可查看相关数据情况。
概览
概览界面如上图所示,展示了该 云开发项目下使用云资源的统计数据。
用户管理
凡是访问过云项目的用户,都会在用户管理下留有访问记录。前提是该小程序在app.js中设置traceUser:true,表示允许记录用户信息。
wx.cloud.init({ env:'......', traceUser: true, })
数据库
数据库是控制台中最常用的功能之一,在该界面下,可以快速建立数据集合,可以理解为数据表。可在控制台中建立新的集合,添加记录有三种方式:控制台手动添加、文件导入以及调用api。调用api会在每条记录中自动插入用户_openid。
存储管理
存储管理可保存小程序端上传的文件,可通过调用api进行上传,上传名称和路径需要自己定义。
云函数
云函数对cloudfunctions中上传的函数进行管理,可进行调试,查看调用日志等信息。
云函数添加方式有2种,可视化添加与IDE添加,可视化添加的云函数直接上传至了云端,IDE中添加需要上传部署才可以调用。如果要删除云函数,在控制台删除之后,IDE中同步云函数列表即可。
统计分析
统计分析对云服务的调用情况有针对得给出了数据。
三、环境配置
api会在每条记录中自动插入用户_openid。
项目初始化需要在app.js中进行配置,env中填写的就是自主配置的环境ID。
wx.cloud.init({ env:'mina-cloud-test001' })
四、实际应用
本例以上传书籍信息为实际应用,实现基本的书籍信息增删改查功能,以及图片的上传删除。
读取数据库数据
先通过调用wx.cloud.database();获取数据库所有集合,然后通过查询具体集合的方式获取数据。
const db = wx.cloud.database(); const _ = db.command; db.collection('bookList').get().then(res => { console.log('get', res) self.setData({ bookList: res.data }); })
增加数据
const db = wx.cloud.database(); const _ = db.command; db.collection('bookList').add({ data: { bookMes: self.data.bookMes } }).then(res => { console.log(res) })
删除数据