上篇文章中,简单介绍了下微信开发者工具是怎么去用的,还介绍了项目的基础目录结构,以及每个文件的作用,还配带了一些例子说明。最后还剩下cloudfunctions目录,也就是云开发的文件夹介绍。
本章主要内容:小程序云开发的基础目录结构,cloudfunctions目录介绍;编写云函数;云开发的调试。
一、小程序云开发的目录结构介绍
上篇文章「基于云开发的微信小程序实战教程(二)」中已经介绍了大部分文件夹的作用,还剩下 cloudfunctions 目录,放在这里继续介绍。
cloudfunctions
目录介绍:
cloudfunctions
是存放我们所有的云函数的地方,也就是相当于我们进行数据存储、进行数据添加、删除、修改等操作的地方。
从下图可以看到,我们下载的 demo 中目前有 4 个文件夹,每个文件夹其实现在可以理解为,一个文件夹对应一个云函数,也就是已经有了 4 个云函数的例子。(和我下图的不太一样也没关系,这只是官网给提供的例子,只是参考看一眼他们怎么写的,最终也用不到这几个例子中的代码)
有了云开发的功能,我们直接在这里通过云函数,进而完成对数据的管理,实现页面和数据的交互,完成一个完整的小程序(也就是所谓的后台,服务器,就不需要我们再去申请了,非常方便)
二、什么是云函数
云函数也是一个 js 文件,用来操作你小程序中存储下来的数据,并把结果抛出来。
比如删除一条数据,我们需要从前端界面点击删除按钮发起请求,调用到云函数去处理数据,找到该条数据并把它从删除,抛出删除成功,这样我们前端的页面上就可以知道「这条数据已经被我们删除了,存储数据的数据库中已经没有这条数据了」
还有一个云函数的好处是,因为云开发是基于微信提供的服务,所以能够直接访问到一些微信对外提供的一些方法,比如微信登录、分享朋友圈、等等我们直接就能够调用到
看个例子,打开login
文件夹,可以看到有config.json
,index.js
,packge.json
三个文件,下面分别来介绍一下。
index.js
,云函数最主要的文件,里面需要写的就是我们的接口函数,也就是说,我们在这里对数据库存储的数据做处理(比如修改一条记录),处理完后再把最新的处理过的结果抛出返回。这样子我们前端页面交互调用到这个方法时,就能得到更新后的最新数据了。
看上面截图,我们随便打开一个login/index.js
,看下大概代码怎么写的。以下是关键代码,为方便理解,我去掉了它原本的注释,加了自己的一些理解和解释。
忘记了怎么开通云服务的,可以去看文章一「基于云开发的微信小程序实战教程(一)」
// 这句是必须写的,固定格式。没有为啥,规定就是这样用的
const cloud = require('wx-server-sdk')
// 初始化 cloud
cloud.init({
env