文章目录

  • 前言
  • 一、Bmob 后端云是什么?
  • 二、注册与使用Bmob 后端云
  • 三、微信小程序 SDK
    • 1.安装使用
    • 2.应用密钥
    • 3.一个例子
  • 四、数据表操作
  • 五、云函数
  • 总结

前言

在开发一个微信小程序的过程中,我们除了要实现小程序的界面外,还需要后端的服务支持。而对于个人或小项目来说,专门搭建一个自己的后端服务是比较麻烦且专业的过程,因此这也成为很多人没能去把小程序开发使用的一个重要原因。为了解决小程序没有后端服务的问题,使用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是一行记录的唯一IDconsole.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') //需要修改的objectIdquery.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云相似,详情可看本人的另一篇文章:小程序云开发入门

小程序与bmob后端云相关推荐

  1. 基于bmob后端云小程序开发——口袋吉他

    人的一生90%的时间都在做着无聊的事情,社会的发展使得我们的闲暇时间越来越多,我们把除了工作的其他时间放在各种娱乐活动上. 程序员有点特殊,他们把敲代码看成娱乐活动的一部分,以此打发时间的不占少数.这 ...

  2. Android实战——第三方服务之Bmob后端云的答题系统小项目(四)

    第三方服务之Bmob后端云的答题系统小项目(四) 事先说明:这里的一切操作都是在集成了BmobSDK之后实现的,如果对Bmob还不了解的话,请关注我第一篇Bmob文章 项目意义: 该项目实现简单,比较 ...

  3. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  4. 函数计算搭建小程序Web应用后端服务

    简介:使用Severless架构搭建移动App.小程序和Web应用后端服务,弹性伸缩使用云资源. 直达最佳实践:[函数计算搭建小程序Web应用后端服务] 最佳实践频道:[点击查看更多上云最佳实践] 这 ...

  5. Bmob关联Android,Android如何使用Bmob后端云实现失物招领功能

    最近在使用后端云Bmob对数据进行存储,目的是在不搭建服务器的前提下,能对Android应用的数据进行操作处理,其实这篇是比较久之前写的了,有些童鞋反馈说现在的源码会有问题,所以我又重新运行了一下,随 ...

  6. 智慧车行预约小程序,汽车保养、维修、美容、检测预测小程序,前后端完整代码包括车行动态,养车常识,保养预约,维修预约,洗车美容预约

    功能介绍 智慧车行小程序,是一个专门为洗车/4S/车辆维修行业打造的小程序,前后端完整代码包括车行动态,养车常识,保养预约,维修预约,洗车美容预约,汽车检测预约等功能,采用腾讯提供的小程序云开发解决方 ...

  7. Bmob后端云——私人云数据库

    Bmob 后端云的配置使用 一.前言     数据库的使用非常广泛,各大语言都存在于数据库的连接交互,以便数据的操作处理.自己配置数据库较麻烦且没必要,个人开发者自己安装数据库较占内存,个人不常用,数 ...

  8. Android基于Bmob后端云实现注册、登陆、找回密码、短信验证码

    注重版权,转载请注明原作者和原文链接 作者:Bald programmer 文章目录 整体功能展示 创建应用 配置Bmob 前期准备 一.数据表 二.工具类 代码设计 一.注册模块 二.登陆模块 三. ...

  9. 微信小程序开发(后端Java)

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  10. 【小程序】微信小程序使用腾讯云IM(一):登录

    微信小程序使用腾讯云IM 新项目已经写了很久啦 这个项目里主要的难点其实是1v1聊天.他们对比了好几家的即时通讯,最后选择了腾讯云通信.我猜,可能是因为腾讯云上说日活低于10w可以不付费吧.省钱嘛~踩 ...

最新文章

  1. linux进程间通信:FIFO应用 /var/log/ 系统日志的模拟实现
  2. node.js php模板,node.js中EJS 模板的使用教程
  3. revit导出lumion插件_建筑工程BIM建模入门级教程——REVIT的几种渲染方式
  4. css 伪类 disabled,css3 :enabled与:disabled伪类选择器(示例代码)
  5. 闲话WPF之二六(WPF性能优化点)
  6. Android Linux自带iptables配置IP访问规则
  7. RK2908开机时间分析及优化
  8. 深度学习笔记(10) 优化算法(二)
  9. virtio Towards a De-Facto Standard For Virtual IO Devices
  10. 找mysql软件的配置文件_mysql 查看当前使用的配置文件my.cnf的方法
  11. IntelliJ IDEA 中使用 Lambok (注解无效问题的解决)
  12. win10如何固定ip地址
  13. 科目一知识点分类梳理
  14. AI新星丨普林斯顿陈丹琦
  15. 计算机网络工程师 考试题,计算机四级网络工程师考试题及答案.docx
  16. 计算机鼠标不出现在电脑屏幕上,电脑一打开就这样了,台式的,电脑屏幕不出现鼠标,求大神帮助...
  17. 认养农业菜园认租如何助力农业发展?
  18. 到站提醒APP应用 隐私声明
  19. 你可能被openURL给坑了
  20. java中new具体意思_java中new是什么意思?

热门文章

  1. 线性代数笔记8:矩阵的对角化
  2. 马尔可夫毯(Markov Blanket)
  3. 数字签名?电子签名?傻傻分不清楚!
  4. win10系统安装和优化
  5. 什么是全栈工程师 摘自360
  6. 国标视频平台搭建(七)配置https访问
  7. 力扣周赛 第280场 Java题解
  8. 离散数学知识点总结(9):集合的性质
  9. 腾讯互娱旗下工作室一览
  10. 查询SCI期刊分区及影响因子