小程序与bmob后端云


前言

在开发一个微信小程序的过程中,我们除了要实现小程序的界面外,还需要后端的服务支持。而对于个人或小项目来说,专门搭建一个自己的后端服务是比较麻烦且专业的过程,因此这也成为很多人没能去把小程序开发使用的一个重要原因。为了解决小程序没有后端服务的问题,使用bmob后端云就是可选的方法之一。


一、Bmob 后端云是什么?

看看官方的定位:

  • 全方位一体化的后端服务平台
    提供可靠的 Serverless 云服务 轻松拥有开发中需要的各种后端能力
  • 云端一体化互联网中间件服务
    提供了实时数据与文件存储功能,轻松实现应用“云与端”的数据连通。数据存储除了常规应用文本信息的存储,还可以存储图片、视频、音频、地理位置等信息。此外数据服务还内置用户系统、即时通讯、权限控制等,开发者几行代码即可实现快速集成
  • 提供云数据库、云函数等
    无服务器云计算函数,简称云函数。Bmob 后端云提供的无服务器执行环境,帮助用户在没有购买和管理服务器时仍能运行代码,访问数据。

使用它的好处:

  • 无需自己搭建一个后端服务
  • 数据库可视化操作,简单直接
  • 后端管理可视化,对后端知识要求较低
  • 官方提供相应的学习文档,入门容易

二、注册与使用Bmob 后端云

进入Bmob后端云的官网:
官方网址:https://www.bmob.cn在这里插入图片描述
注册好后,即可登录进入bmob云的后台:
在这里插入图片描述
我们可以创建一个应用,应用类型选择小程序,版本选择开发版:
版本的选择按照自己的需求来选,版本不同,bmob云提供的服务能力也不同,不过一般用于学习的话,开发板就足够了
在这里插入图片描述
创建的应用是小程序,需要使用相应的小程序授权在这里插入图片描述
授权后即可进入到应用
在这里插入图片描述
应用就相当于一个后端服务,内部包含数据库、云函数(后端代码)等其他功能服务,我们都可以可视化的去操作它们,以建一张数据表为例:
在这里插入图片描述
创建一张数据表后,我们就可以按照我们的需要提交相应的字段(添加列)了
在这里插入图片描述

三、微信小程序 SDK

Bmob 为小程序开发提供一体化的后端云服务,免去了服务器维护、证书配置、数据存储互通等繁琐的工作,大幅度提高开发效率,减少研发时间和成本。
前面讲述了如何创建一个后端服务应用,创建好之后呢?如何把微信小程序连接bmob云的服务呢?这就需要我们使用到bmob云提供的微信小程序 SDK

1.安装使用

下载:
https://github.com/bmob/hydrogen-js-sdk/
注意:

  • 整个SDK,就dist目录下Bmob.*.js 这个文件即可使用全部功能;
  • 这不只是微信小程序SDK,是跨平台SDK,相关平台都是引入Bmob-x.x.x.min.js;
  • 目前支持微信小程序、H5、快应用、游戏Cocos、混合App等

引入:

压缩包引入

var Bmob = require('../dist/Bmob-x.x.x.min.js');

或者源码引入(nodejs必须源码引入)

var Bmob = require('./src/lib/app.js');

初始化:
SDK版本 2.0.0 以下的初始化方法

Bmob.initialize("你的Application ID", "你的REST API Key");

SDK版本 2.0.0 以上的初始化方法

Bmob.initialize("你的Secret Key", "你的API 安全码");

2.应用密钥

上述初始化SDK时需要写bmob云应用的Application ID、REST API Key、Secret Key、API 安全码等,它们在哪里呢?

选择相应的应用→设置,即可看到
在这里插入图片描述
API 安全码需要自己去设置,应用→设置→安全验证

在这里插入图片描述

3.一个例子

在需要使用到的JS文件中引入(相对路径)并初始化
在这里插入图片描述
引入初始化后,控制台没有报错信息则说明引入成功
在这里插入图片描述
注意:每个页面如果想获取bmob云后端的数据,都需要在其页面的JS文件中引入SDK

四、数据表操作

成功引入了微信小程序SDK后,意味我们可以在小程序端通过JS去操作后端应用,而最主要的操作之一就是数据表操作:增删查改
获取一行记录:

const query = Bmob.Query('tableName');// tableNmae是表名
query.get('objectId').then(res => { //objectId是一行记录的唯一ID
  console.log(res)
}).catch(err => {
  console.log(err)
})

新增一行记录:

const query = Bmob.Query('tableName');
query.set("name","Bmob")
query.set("cover","后端云")
query.save().then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})

修改一行记录:

//方式一:
 const query = Bmob.Query('tableName');
 query.set('id', 'objectId') //需要修改的objectId
 query.set('nickName', 'Bmob后端云')
 query.save().then(res => {
 console.log(res)
 }).catch(err => {
 console.log(err)
 })
//或者方式二:
const query = Bmob.Query('tableName');
query.get('objectId').then(res => {
  console.log(res)
  res.set('cover','3333')
  res.save()
}).catch(err => {
  console.log(err)
})

删除字段的值:

const query = Bmob.Query('tableName');
query.get('objectId').then(res => {
  console.log(res)
  res.unset('cover')
  res.save()
}).catch(err => {
  console.log(err)
})

删除一行记录:

const query = Bmob.Query('tableName');
query.destroy('objectId').then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})

更多操作请详看官方文档

五、云函数

这里的云函数相当于服务端代码,可在线便捷代码运行和实时编辑业务逻辑。上面讲到的数据表操作都是直接使用前端JS去操作数据表,这样其实不安全且速度较慢,把一些复杂的操作放到云函数实现是一个靠谱的方法,云函数封装在后端,小程序端通过函数名调用,无法知晓函数内部的功能逻辑的实现。

创建一个云函数:
在这里插入图片描述
注意:bmob云的云函数并非完全免费,每个应用有它的免费期限
在这里插入图片描述
创建好云函数后,编写其功能逻辑:
在这里插入图片描述

function onRequest(request, response, modules) {
      var a = request.body.a;
      var b = request.body.b;
      var c =parseInt(a)+parseInt(b);
      response.end(c.toString());
}    

在小程序端调用云函数:

let params = {
      funcName: 'add', //云函数名
      data: {  //需要给云函数传的参数
        a : 2,
        b : 3
      }
    }
    Bmob.functions(params.funcName,params.data).then(function (response) {
        console.log(response);
    })
    .catch(function (error) {
        console.log(error);
    });

在这里插入图片描述
更多详情请看官方文档


总结

掌握了bmob云,就算我们是一个人也一样可以开发有后端服务的小程序。bmob后端云的数据库也常常被称为傻瓜式数据库,因为可以可视化操作,不需要开发人员有数据库的很多知识,有一些常识就可以处理它,而数据表的操作,官方文档都有许多案例可以参考。其实对于云后端,微信官方也为小程序提供了一个云开发模式,与bmob云相似,详情可看本人的另一篇文章:小程序云开发入门

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值