看完这篇教程,你绝对能在半小时以内学会使用Bmob,并开发属于自己的微信公众号!
使用bmob有什么好处,下面一一为你道来:
Ÿ 不需要购买服务器,不需要懂linux,不需要懂运维知识,零成本地拥有属于自己的后台系统。
Ÿ 不在需要mysql,轻松存储和获取数据,同时提供了一个方便的数据管理后台。
Ÿ 提供灵活的“云端代码”,其融合了bmob的数据服务和大量的第三方服务,让你轻松应对复杂的业务逻辑。同时云端代码能被第三方平台调用,再也不需要php,java等复杂的web服务。
本教程将引导你完成如下任务:
Ÿ 创建bmob应用
Ÿ 使用bmob云端代码实现微信公众平台的开发
在这节中,将会从基本的创建bmob账号开始,到创建应用,数据的基本操作,到云端代码的运行,使读者对bmob的功能有初步的了解。
在这个教程中,用到了bmob的两个功能:
Ÿ 数据存储:把订阅者发到微信公众号的信息存储起来。
Ÿ 云端代码:微信后台回调云端代码后,完成公众号所需的业务逻辑:信息存储,把信息加工后返回给订阅者的微信。
在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”,在跳转页面填入你的姓名、邮箱、设置密码。
注册成功,到注册所填入的邮箱查看bmob发送的邮件,点击其中激活链接后,就能使用邮箱和密码登录bmob。
在bmob中,一个用户可以创建多个应用,每个应用拥有其所属的专用数据库,多个应用之间相互独立。
用户需要创建一个应用,先点击管理后台中的“创建应用”按钮,在创建应用的输入框中输入app的名称,点击“创建应用”,就能成功创建应用。
对于一些复杂的应用,您可能希望增加一些特有的业务逻辑,并能灵活掌控,Bmob 云端代码提供了这种灵活性,可以让您的代码直接在 Bmob云上运行, 通过SDK(Android,iOS),restful api或者任何http的方式调用,即可获取结果数据。
云端代码的编码采用nodejs语法,简单易用。在云端代码的编辑器中,系统默认生成了云端代码的入口函数function onRequest(request, response, modules),你可以根据自己的需求实现业务逻辑代码。
在云端代码界面,创建一个名为"helloworld"的云端代码,生成云端代码后,可看到云端代码生成的入口方法。
开发者按照云端代码的相关语法和提供的模块编写云端代码,就能实现各种业务逻辑。
从云端代码的入口方法function onRequest(request, response, modules)可知,云端代码包含三个模块,分别是request模块、response模块和modules模块。
下面用云端代码输出一个经典的"helleworld"程序,让开发者对编写云端代码有个初步的了解。
输出"helleworld"的云端代码如下:
在"helloworld"的云端代码编辑界面上输入上面的代码,按下“保存”按钮就能把编辑完毕的代码保存在云端,如下图所示:
怎么运行上面编辑完毕云端代码呢?bmob在每个云端代码的编辑界面下方提供了一个方便的调试工具
整个云端代码的执行流程如图:
其中:
Ÿ a12af19a1b8bf434:应用的Secret Key。
Ÿ helloworld:云端代码的名称
其中:
Ÿ a12af19a1b8bf434:应用的Secret Key。
Ÿ helloworld:云端代码的名称
bmob提供了数据库对象(oData)用于操作数据。
用云端代码往数据表“message”插入一条数据,可用如下的代码
在本节中,通过bmob云端代码开发微信公众平台,实现一个反馈意见收集的功能: 1.把订阅者发送到公众号后台的反馈意见存储在上一节在bmob中创建的表“message”中。 2.订阅者提交反馈意见后,公众号自动给订阅者发送消息,表示消息已收到。
创建一个名为"feedback"的云端代码用于实现上面的功能,代码如下:
这个云代码的内容暂时看不懂没关系,下面会逐渐解释其中的含义。
只有启用微信公众号的开发模式后,才能把订阅者发送到微信公众号后台的消息发送到bmob云端代码中进行处理。
微信公众平台地址:https://mp.weixin.qq.com
登录微信公众平台后台,在左侧列表中最下方,找到“开发者中心”,点击进入。进入服务器配置填写框,点击“修改配置”按钮,点击“启用”,在弹出框中点击确定。
云端代码开发微信公众号有两个重要原理一定要弄明白:
Ÿ 变为开发模式时,微信公众号后台往配置的url发送校验请求,这个过程云端代码校验信息的原理。
Ÿ 云端代码收发微信公众号后台传递过来的消息的原理。
在开发者首次提交验证申请时,微信公众号后台将发送GET请求到填写的URL上,并且带上四个参数(signature、timestamp、nonce、echostr),开发者通过对签名(signature)的效验来判断此条消息的真实性。
这4个参数的含义如下:
Ÿ signature:微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
Ÿ timestamp:时间戳。
Ÿ nonce:随机数
Ÿ echostr:随机字符串
此后,每次开发者接收用户消息的时候,微信公众号后台也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。效验方式与首次提交验证申请一致。
开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信公众号后台,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
消息校验流程如下:
a.将token、timestamp、nonce三个参数进行字典序排序。
b.将三个参数字符串拼接成一个字符串进行sha1加密。
c.开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
整个流程如图所示:
使用的云端代码如下:
在上一节的演示中,订阅者往该公众号发送消息后,返回已收到反馈内容的消息。
这一原理的消息流程如图所示:
云端代码内部通过下面的代码处理用户发送的消息:
通过本教程,你得到了以下收获:
了解bmob应用和云端代码的功能。
在不需要搭建服务器,不需要懂得基本的运维知识下,使用bmob云端代码在30分钟内实现微信公众平台的开发,完了消息存储和消息自动回复这两个功能。
全部详尽教程,请点击:
使用bmob云端代码开发微信公众平台教程,点我看图文并茂教程哦!