背景:我一直在关注微信小程序的发展,看着小程序一步步完善和成长。想做一个自己的微信小程序,但是只懂前端不懂服务端,所以一直卡着。现在小程序有了云开发,很容易实现后端功能,写后端和写前端没什么区别,对前端的朋友来说真是个好消息。

经过几个夜晚的努力,我的靠前个微信小程序正式上线了。

小程序名称:杭州地铁

二维码:

.jpg

欢迎朋友们体验并随意评论。

目前仍是靠前版本,功能还不够完善,后续会陆续更新。

咱们别废话了,直接进入正题。

什么是小程序云开发?

开发者可以使用云开发来开发微信小程序和小游戏,无需搭建服务器。(云就是服务器,这个说法听起来好花哨,对新手不太友好。)

小程序云开发提供数据库、存储、云函数三大基础能力。

每个用户最多可以拥有两个开发环境,两个环境相互独立。一般来说,开发时会创建一个测试环境,发布时会创建一个环境。这里会有一些陷阱,后面会讲到。

如何利用云开发?

在创建项目时选择快速创建云开发模板即可直接拥有云开发能力。

模板中已经配置好了云服务对接模块的路径,如下图:

.png

在app.js中配置当前环境ID,配置完成后即可开始开发。

1.创建并编写云函数:

右键点击云函数模块文件夹->创建一个新的Node.js云函数:

.png

比如我创建了一个获取用户收藏列表的云函数,该函数的作用是从数据库读取用户的收藏列表,并将结果返回给小程序。

注意:虽然在app.js中指定了当前环境,但是这里的代码是在云端运行的,所以还是需要重新指定读取哪个环境的数据库。

.png

上面是异步的查询和返回,所以就用了,用的好处就是可以像同步代码一样写异步代码,这点在阮一峰的《ES6入门》中有提到。

2.上传并部署云函数

创建云函数后,需要右键点击云函数进行上传和部署。

注意:微信开发工具不支持批量上传,每个云函数都要单独上传,比较麻烦。

上传部署后直接调用即可,进行云函数调用和接口返回处理,参数放在data对象中。

.png

3.获取用户较早身份:

以前没有云服务的时候,开发者都是用自己的服务器来对接小程序,使用微信用户ID时需要调用接口进行认证来确定用户身份。现在,这一切都由云服务来做,每次调用接口时,微信都会自动进行认证,而且每个接口都自带认证功能,使用起来非常方便。

如何在云函数中获取微信和参数:

.png

这就是使用云函数的流程,是不是很简洁方便?

最后:如上所说,云服务有两个环境,两个环境相互独立,目前微信还不支持环境间数据同步,测试中有些数据必须手动同步到环境上,有点烦。

还有一点就是:如果开发完准备上线,需要切换环境,从测试环境切换到环境环境。切换环境的时候需要在app.js中切换云服务初始化环境。如果云函数中有数据库调用,还需要指定数据环境。而且切换的时候用的是环境ID,而不是环境名称。文档上说要用名称,搞了我20分钟。

相关文章