微信小程序开发中Bmob后端云的运用研究

2018-12-17 09:17刘卫星罗嘉龙杨家杰陈正铭
电脑知识与技术 2018年25期
关键词:小程序微信

刘卫星 罗嘉龙 杨家杰 陈正铭

摘要:在互联网和信息技术的蓬勃发展下和用户需求的刺激下,越来越多的微信小程序被开发出来为用户提供便捷、实用、易用的服务。同时随着微信团队逐步开放微信小程序的权限,使得微信小程序的能力足以媲美传统原生应用。该文主要对Bmob后端云在微信小程序开发中的运用进行研究分析,并且以“微众筹”小程序为例分析了Bmob后端云的具体运用方法,为微信小程序开发者运用Bmob云平台快速开发小程序提供思路参考。

关键词:微信;小程序;Bmob;后端云

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)25-0067-04

Research on the Application of Bmob Backend Cloud in WeChat Applet Development

LIU Wei-xing, LUO Jia-long , YANG Jia-jie, CHEN Zheng-ming

(School of Information Science and Engineering, Shaoguan College, Shaoguan 512005, China)

Abstract: Under the spur of the Internet and information technology and the stimulation of user needs,More and more WeChat applet was developed to provide users with convenient, practical, easy to use service. At the same time, with the WeChat team gradually opening up the permissions of the WeChat applet, the ability of Wechat applet is comparable to traditional native applications.This paper mainly studies and analyzes the application of Bmob back-end cloud in small program development, and analyzes the specific application method of Bmob back-end cloud by taking the micro-crowdfunding applet as an example, which provides a reference for WeChat applet developers to use the Bmob cloud platform to quickly develop small programs.

Key words: WeChat; Applet; Bmob; Backend cloud

1 概述

自2017年1月9日正式發布以来,凭借无需安装、触手可及、用完即走的优点以及小程序自带的社群属性,小程序在微信生态内如雨后春笋般迅速成长,根据腾讯 2018年第一季报,截至2018年3月微信小程序月活跃用户已经超过 4 亿。随着用户量的增大,越来越多的开发人员投入小程序的开发,传统的开发方法存在诸如开发成本高、工作烦琐、周期长的问题。笔者以微信小程序“微众筹”为例,采用“小程序(前端)+后端云”开发模式,加快小程序的开发速度,让开发者更加专注用户界面的优化和小程序功能的设计,从而提升页面加载速度和改善用户体验与服务。

2 Bmob后端云的概述

Bmob后端云是全方位一体化的后端服务平台,开发者只需要在设计小程序时嵌入Bmob官方专用的小程序轻量级SDK,然后在Bmob后端云平台填写小程序的AppID和AppSecret,最后在微信小程序后台服务器域名配置中填写Bmob相关合法域名,便可轻松拥有小程序开发中的各种后端能力,主要功能服务如下:

1) 云数据库服务:开发者通过调用Bmob官方小程序SDK中相关接口,便可实现对数据项、数据表、数据库的操作,此外开发者也可以通过登陆开发者账号,进入Bmob云后台对小程序的数据进行可视化操作。Bmob后台数据库支持多种格式地批量导入和导出数据服务,为小程序备份或迁移数据提供支持。

2) 微信支付服务:开发者需要开通Bmob专业版本,提前在小程序后台开通微信支付,并填写支付商户id到Bmob后台,便可在所设计中的小程序中使用Bmob封装的支付方法实现微信小程序支付,用户付款到微信支付账户的功能。

3) WebSocket服务:WebSocket是基于Html5提出的协议规范,主要应用于客户端和服务端的实时通信。使用Bmob云对微信小程序WebScoket封装的SDK,主要用来对小程序的实时数据处理,可以用于监听数据状态变化。例如监听数据表的内容发生变化时,服务器通过SDK调用回调函数给开发者使用。

4) 云函数服务:云函数是一段部署在服务端的代码片段,采用node.js编写,通过云函数可以处理很多复杂的业务逻辑,并可以减少将大量的数据发送到小程序上做计算处理,只需要将云函数计算的最终结果发送到小程序进行处理,使用该方法可以有效地解决在小程序体积为2M的限制下,扩展小程序功能的限制。云函数的API集成在Bmob SDK中,开发者只需要配置相关参数,便可以使用云函数服务。

3 Bmob后端云在微信小程序中的主要应用

在小程序研发过程中引入Bmob后端云,使得开发者无需再造应用后端,简单调用Bmob SDK中标准的API接口,便能拥有小程序开发的各种能力支持,加快产品更新迭代速度,符合小程序即用即走的轻量型设计理念。为了对Bmob后端云在微信小程序中的主要应用进行深入研究,笔者团队设计实现了一个微信小程序“微众筹”——公益众筹类目的小程序。如图1和图2所示为“微众筹”首页,微众筹采用“小程序(前端)+Bmob后端云”开发模式,主要包含用户管理模块、众筹项目管理模块、项目跟踪管理模块、支付管理模块,以下本文以“微众筹”的三个功能为例,阐述Bmob后端云在微信小程序开发的主要运用。

图1 微众筹首页 图2 微众筹首页

3.1 “微众筹”用户管理中微信一键登陆的实现

虽然小程序以其“用完即走、随用随开、即搜即用”的特点和良好的用户体验俘获用户们的芳心,然而用户管理,是每个产品都绕不开的一个环节,尤其是繁琐的手机验证登陆、邮箱验证登陆环节,势必会造成用户体验感下降。Bmob后端云提供云数据库服务,使得开发者只需要调用Bmob SDK封装的方法,即可轻松地完成用户的注册、微信一键登录功能。如图3所示为实现该功能的示意图,在设计小程序时流程如下:当用户点击如图4所示微信一键登陆按钮后,小程序先调用wx.login()接口获取用户登录授权,然后调用Bmob.User.requestOpenId()方法得到用户的openid值,再调用wx.getUserInfo()方法,进行授权验证,若授权成功则获得参数nickName值,调用wx.setStorageSync()方法将参数nickName和参数openid作为用户名称和密码存入小程序本地缓存,再调用Bmob.User.logIn()方法传入缓存信息,若返回成功信息则说明用户登录成功,若返回失败说明用户并未注册,程序自动使用缓存信息注册用户并且登陆。

图3 微信一键登陆示意图

图4 微众筹登录页面

3.2 项目众筹管理

项目众筹管理是“微众筹”核心功能包括新建众筹项目、查询众筹项目、修改众筹项目。使用Bmob提供的云数据库服务,开发者可以轻松创建并且管理微众筹相关云数据表,设置相关字段名称以及参数类型,方便快捷地实现上述项目众筹管理功能。以新建众筹项目功能为例,众筹者通过个人中心的“新建项目”按钮,依次填写图5新建众筹项目中相关信息,勾选《发起须知》文件后,即可新建众筹项目,等待平台管理员审核众筹项目,通过后该众筹项目将出现在如图2微众筹首页的“项目列表”中供用户进行投资。关键代码解释如下,首先引入bmob.js文件,填写Application ID和REST API Key 初始化Bmob后,调用wx.getStorage接口获得众筹者的名称my_username参数,再定义project继承云数据表Project,实例化project后得到对象projects,通过projects.set()方法设置众筹项目相关参数信息,最后通过projects.save()方法保存至云端,等待管理员审核。

图5 新建众筹项目

关键代码示意:

const Bmob = require('../../../utils/Bmobutils/bmob.js');

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

wx.getStorage({

key: 'my_username',

success: function(ress) {

var project = Bmob.Object.extend("Project");

var projects = new project();

var grouper = ress.data;

projects.set("description", title);

projects.set("endtime", endtime);

projects.set("address", address);

projects.set("longitude", longitude);//經度

projects.set("latitude", latitude);//纬度

projects.set("content", content);

projects.set("grouper", grouper);

projects.set("name", acttypename);

projects.set("money",money);

projects.set("picture",picture);

projects.save(null, {

success: function (result) {

// 添加成功,返回成功之后的objectId,提示用户等待审核

console.log("创建成功, 等待管理员审核!" );

},

error: function (result, error) {

//添加失败

console.log("发布失败" + error);

common.dataLoading("发起失败", "loading");}})},})

3.3 项目跟踪模块

项目跟踪是指对项目筹备、项目开始、项目实施、项目结束各个时期进行跟进和记录,以期供投资者关注项目动态,掌握项目进展情况。本功能运用Bmob提供的小程序WebSocket服务即可实现。如图6项目跟踪所示,投资者通过点击首页中相关众筹项目,即可进入项目跟踪页面,投资者通过“跟踪列表”可以查看项目状态和进展情况,或通过立即支持按钮对项目进行资助。关键代码解释如下:首先引入BmobSocketIo.js文件,填写Application ID初始化实时数据对象BmobSocketIo,将待监听事件写入BmobSocketIo.onInitListen函数内,通过BmobSocketIo.updateTable()方法,订阅项目跟踪表更新事件,编写BmobSocketIo.onUpdateTable()方法,监听项目跟踪表的更新数据,通过该方法的回调函数,调用onShow()方法对页面进行重新渲染,使用该方法可以方便开发者对实时数据的处理,保证了小程序数据交互流畅性。

图6 项目跟踪

关键代码示意:

var that = this

//引入BmobSocketIo.js文件

var BmobSocketIo = require('../utils/Bmobutils/bmobSocketIo.js').BmobSocketIo;

//输入Bmob后台应用ID

BmobSocketIo.initialize("Your Application ID");

//初始化BmobSocketIo

BmobSocketIo.init();

//初始连接socket.io服务器后,需要监听的事件都写在这个函数内

BmobSocketIo.onInitListen = function (res) {

//订阅项目跟踪表的数据更新事件

BmobSocketIo.updateTable('ProjectTracking');}; //项目跟踪表

//监听服务器返回的更新表的数据

BmobSocketIo.onUpdateTable = function (tablename, data) {

//进行重新加载跟踪列表的内容

that.onShow();};

4 运用后端云进行微信小程序开发的技术评价

从开发成本上来看,使用传统服务器需要付出专门的人力、物力成本,开发人员还需要对服务器进行定期维护,相比之下基于Bmob云平台开发小程序更加简单实用且维护便捷,能够缩短开发时间降低开发难度,让开发者专注于小程序本身的业务逻辑开发,而不用去管复杂的后台服务器、后台数据库的搭建和维护,同时开发者可以免费使用基础服务,企业用户也只需要支付少量租用成本便可使用企业级服务。

从技术角度来看,个人在运用传统服务器开发小程序,需要开发者掌握后端一系列的开发技术和过程。后端云提供小程序开发封装软件开发包,使开发者只需简单配置、调用相应接口便可实现实现小程序开发中所需要的后端服务,降低了微信小程序开发者的开发门槛。

从稳定性和安全性来看,由于Bmob后端云直接提供服务器给开发者使用,开发者无法掌控其服务器的安全性和稳定性,因而对数据安全与保密要求高的小程序还是不建议使用Bmob云平台进行开发,而对于成本较少,要求较低的个人开发者而言则可以选择使用Bmob后端云进行开发。

5 结束语

本文通过介绍Bmob后端云的功能特点,以“微众筹”微信小程序中的三个功能为例对Bmob云后端在微信小程序研发的具体运用方法做了深入研究与介绍,以期为使用Bmob云后端开发小程序的开发者提供参考。个人开发者运用Bmob后端云可以大大简化小程序开发过程,节省出更多精力与时间专注微信小程序的UI和功能设计,提升小程序的品质与效益。

参考文献:

[1] 周冉,高玉竹.Bmob云平台在AndroidApp开发中的应用[J].微型机与应用,2015(3401):26-28.

[2] 杜巍.AndroidApp开发中Bmob云平台的运用[J].通讯世界,2016(3):220-221.

[3] 孙加祥.基于BMOB移动应用云存储平台的社交软件的开发[J].中国新通信,2016(1812):100.

[4] 杨硕珩,白如博,门士尧,张一博,李孝忠.Bmob后端云在Android即时通讯APP开发中的应用[J].山西電子技术,2017(6):59-61.

[5] 刘琦,丁萍莉.基于微信小程序的互联网+教育学习平台的研究与设计[J].内江科技,2016(3712):45-46.

[6] 汪静,许欣,王新年.基于Bmob云平台的消息推送系统设计与实现[J].软件导刊,2016(1512):84-86.

[7] 刘红卫.微信小程序应用探析[J].无线互联科技,2016(23):11-12,40.

[8] 刘玉佳.微信“小程序”开发的系统实现及前景分析[J].信息通信,2017(1):260-261.

【通联编辑:梁书】

猜你喜欢
小程序微信
微信
微信
超级微信的“小程序”
微信
微信
微信