小程序开发之接入Bmob后端云作为后端数据库

小鸡
阅读813 喜欢3 教程 更新2018-12-3

前几天在网络课的项目汇报中,我展示了一个背单词的微信小程序,后端使用的是bmob的数据库。
今天有同学来问我怎么用那个数据库,我当时可能没讲清楚,索性写篇博客来说一下。

接入Bmob后端云做一个简单的总结。所谓后端云,一句话概括就是跑在云端的数据库后台+服务器后台,引入到微信小程序开发中能带来的好处就是:让我们可以专注于小程序本身的业务逻辑开发,而不用去管复杂的后台服务器

当然,这种免费的第三方数据库只适合平常做着玩的小项目,和那些比较水的校创项目 长期发展的话,建议自己买一台服务器手动搭建数据库,后续有空的话我会再写一篇自己搭建后端服务器的教程

接入Bmob后端云

  • 准备一个小程序公众号和Bmob账号
    首先需要到微信公众平台官网上去注册一个小程序类型的公众号,假设将要开发的小程序命名为:MyApp.

  • 打开Bmob官网注册一个账号。

  • 获取并记录好MyApp小程序的AppIDAppSecret
    这两项信息在小程序后台的"设置-开发设置"页面可以获取到,获取到后需要在一个文本文件中记好,后面要用到

登录Bmob控制台

创建一个应用,假设名字叫MyBmobApp,然后进入应用。到"设置"页面输入刚刚获取到的小程序的AppIDAppSecret并保存。

获取并记好MyBmobApp对应的Application IDREST API key.

登录小程序MyApp后台

设置-开发设置-服务器域名页面添加Bmob安全域名并保存(可一次性添加多个)。

注:四种安全域名(两种类型:https和wss)

全部填api.bmob.cnxxx.bmobcloud.com,其中"xxx"为MyBmobAppApplication ID.

下载SDK

到Bmob官网下载微信小程序对应的SDK并解压,将其中的所有js文件都放到小程序工程的utils目录下。

初始化和引入Bmob

在小程序工程的app.js中加入如下代码进行全局初始化:

var Bmob = require(utils/bmob.js);
Bmob.initialize(XXX,XXXXXX);
// 注:其中XXX为MyBmobApp的Application ID,XXXXXX为其REST API key

在需要用到Bmob的page页的js中引入Bmob:

var Bmob = require(../../utils/bmob.js);

现在就可以在小程序中对Bmob后端云数据库进行各种操作了,像操作本地数据库那么简单。

小程序相关api的调用

注意:调用数据库api之前你需要在bmob云后台创建相应的数据库
有数据库才能进行相应操作

比如一个简单的用户登陆如何操作呢?

用户操作

2018年5月1号起,微信官方彻底废除wx.getUserInfo 函数,如需获取用户信息,需要使用按钮获取。

  • wxml:
<button open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
  • js:
getUserInfo: function(e) {
app.globalData.userInfo = e.detail.userInfo
Bmob.User.upInfo(e.detail.userInfo)
this.setData({
userInfo: e.detail.userInfo,
hasUserInfo: true
})
}
  • wxml显示
<image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>
<text class="userinfo-nickname">{{userInfo.nickName}}</text>
  • 请求示例:
Bmob.User.upInfo(e.detail.userInfo).then(result => {
console.log(result)
}).catch(err => {
console.log(err)
})
  • 返回示例:
{"updatedAt":"2018-05-02 14:43:26"}

如上的简单操作,我们就可以使用bmob云数据库作为我们小程序的后端数据库啦
详细api文档还请阅读bmob官方api文档

bmob云后端api文档

关于小程序审发布或更新

小程序上线需要经过审核、发布两个过程。
审核通过后有全量更新、或者分阶段发布,小程序才会更新,首次发布没有选项。

  1. 全量发布:即时向全量微信用户发布新版小程序。
  2. 分阶段发布:新版小程序将在15天内以开发者自定义比例,向微信用户发布更新
  3. 详情见知乎:发布小程序时选择全量发布和分阶段发布是什么意思?

不得不说小程序审核速度是非常快的,通常小程序没有涉及政策不允许的内容或者超过小程序允许的应用服务类型,都是可以顺利通过,初次体验,即便在国庆期间,也是有工作团队进行审核,审核时间通常在几小时内。

未完待续

小程序一直处于不愠不火的状态,但微信团队一直坚持在更新,都在不断的更新或者修复异常bug,有时间希望做些更有趣的小程序和大家分享。