当前位置:文档之家› 开发微信公众平台教程

开发微信公众平台教程


在同步型的编程语言中, find 和 insert 都是数据库的操作, 有文件读写的 IO 操作, 在 db->find 执行前,能确保 db->insert 已经执行完毕了。 在异步编程中,用类似下面的代码才能保证执行完 db.insert 后才执行:
只有通过在 db.insert 的回调函数中执行 db.find,才能保证执行 db.find 前 db.insert 的数据库 操作已经完成。 举个生活中的例子说明异步编程。在饭馆里,服务员接待客人一般是这样的:
图 17 用云端代码查询数据表“message”的数据,可用如下的代码:
用云端代码查询表“message”的所有数据,可用如下的代码:
点击保存后在云端代码调试区按“发送请求” ,返回“success”的值,如下图 18 所示:
图 18 需要了解更多云端代码的操作,可阅读: /cloudcode/developdoc/index.html?menukey=develop_doc&key=develop_c loudcode 在编写云端代码时有个注意事项:云端代码是使用异步编程。也就是说,当遇到文件读写请 求,网络请求等 IO 操作时,代码不等待 IO 操作返回结果就执行后面的语句,当接收到 IO 操 作的返回结果后才调用回调函数。 当使用 php,java 等非异步编程语言时,如果需要插入数据后再查找数据,可用类似下面的 代码:
在"helloworld"的云端代码编辑界面上输入上面的代码,按下“保存”按钮就能把编辑完毕 的代码保存在云端,如下图 11 所示:
图 11 怎么运行上面编辑完毕云端代码呢?bmob 在每个云端代码的编辑界面下方提供了一个方便 的调试工具,如下图 12 所示:
这个工具有下面的功能: 可选择以 http "post"或者"get"的方法运行云端代码。 选择 request 的参数和对应值:可添加传入云端代码的 request 的参数和对应值,参数 的数目可以通过“再添加一个”按钮调整。 需要运行名称为"helloworld"的云端代码,在"helloworld"的云端代码编辑界面下点击“发送 请求”按钮,就能在调试工具上看到云端代码返回的字符串“this is hello world” ,如下图 13 所示:
图6 在"添加新的表"界面中,选项“自定义”选项即可创建一张新的普通表,另外两个选项是较高 级的功能,在本教程中暂时不需要用到。 在这里,创建了一张名为"message"的表,用于存储订阅者发送到公众号后台的信息。 在表"message"的操作界面中可看到,表"message"有 4 个默认的字段,其中 3 个最常用字段 的含义如下: objectId:该行的 id,objectId 的作用和 mysql 中的经常使用的 id 类似,用于唯一标示一 行。 createdAt:改行数据的创建时间。 updatedAt:改行数据的最后修改时间。 当操作一行数据的时候,以上的 3 个字段的值由 bmob 后台自动管理。另外这些字段的名字 是保留的,你不能自行设置它们。 由于表"message"是需要把订阅者发到微信公众号的信息存储起来,存储信息的两个属性: 谁发送这条信息,信息的内容,所以添加下面所需的字段: userId:订阅者的 id,String 类型。 content:发送的内容,String。 通过图 8 的“添加一列”功能,依次把 userId 和 content 这两个字段添加到表"message"中。
看到云端代码的返回结果如下图 15 所示:
图 15
4.3.3 以 Post 的方式调用云端代码
下面通过 curl 工具展示了以 Post 的方式调用云端代码:
其中: a12af19a1b8bf434:应用的 Secret Key。 helloworld:云端代码的名称
4.4 云端代码操作数据库初步入门
图8 注意:在用云端代码添加数据时,如果发现其所操作的表和所操作的列不存,bmob 后 台会自动创建。这里为了演示 bmob 的数据浏览操作,所以才手动创建一次。
4. 云端代码
阅读了上面的“数据的基本操作”的内容后,读者可能有个疑问,怎么对表的数据进行增删 改查等操作呢?除了可以在"数据浏览"界面可以进行操作外, 也可以通过云端代码进行数据 的增删改查,开发者也可以通过云端代码完成更加复杂的业务逻辑。
4.1.1 request 模块
,所以 request 模块用于获取传入的参数。由于现在调用云端代码有两种方式(get 和 post) 获取传入的参数的方式需要使用不同的方法。 当用 get 请求的方式传入参数,可用如下的方法获取参数的值: //获取传入参数 name 的值 当用 post 请求的方式传入参数,可用如下的方法获取参数的值: //获取传入参数 name 的值
象(oHtmlparser) 、加密对象(oCrypto) 。云端代码想要调用这些对象时,只需要用如下的 方法即可获取:
4.2 用云端代码实现"helleworld"
下面用云端代码输出一个经典的"helleworld"程序,让开发者对编写云端代码有个初步的了 解。 输出"helleworld"的云端代码如下:
图 14 注意:请妥善保管 Secret Key,避免 Secret Key 的泄露! ! !
4.3.2 以 Get 的方式调用云端代码
下面展示了以 Get 的方式调用云端代码,在浏览器中输入下面的 url:
其中: a12af19a1b8bf434:应用的 Secret Key。 helloworld:云端代码的名称
采用异步模式的服务员可以这样接待客人:
在服务员接待客人的行为中, 通过比较普通的做法和异步的做法, 能发现采用异步的方法后 服务员的效率大大提高,云端代码使用异步也是基于同样的理由,当云端代码在等待 IO 操 作(文件读写请求,网络请求)的结果时是一直空闲,如果不等待 IO 的结果继续执行下面 的语句,能大大提高系统的效率。 在云端代码异步编程中“function(xxx){xxxx}”部分称为回调函数,云端代码会把 IO 操作的 返回结果封装后传入到 function 函数执行里面的逻辑。
使用 Bmob 云端代码开发微信公众平台 (教程)
一、简介
看完这篇教程,你可以半小时内学会使用 bmob 并开发出属于自己的微信公众号。 使用 bmob 有什么好处,下面一一为你道来: 不需要购买服务器,不需要懂 linux,不需要懂运维知识,零成本地拥有属于自己的后 台系统。 不在需要 mysql,轻松存储和获取数据,同时提供了一个方便的数据管理后台。 提供灵活的“云端代码” ,其融合了 bmob 的数据服务和大量的第三方服务,让你轻松 应对复杂的业务逻辑。同时云端代码能被第三方平台调用,再也不需要 php,java 等复 杂的 web 服务。 本教程将引导你完成如下任务: 创建 bmob 应用 使用 bmob 云端代码实现微信公众平台的开发
2. 创建应用
登录后,点击“我的控制台” ,进入到了管理后台,如下图 2 所示:
图2 在 bmob 中,一个用户可以创建多个应用,每个应用拥有其所属的专用数据库,多个应用之 间相互独立。 用户需要创建一个应用,先点击管理后台中的“创建应用”按钮,如下图 3 所示:
图3 在创建应用的输入框中输入 app 的名称,点击“创建应用” ,就能成功创建应用,如下图 4 所示:
图 13

整个云端代码的执行流程如图 13.1 所示:
图 13.1
4.3 调用云端代码的方式
除了使用 bmob 提供的云端代码调式工具外,bmob 允许开发者以 http 的方式直接调用云端 代码。
4.3.1 获取 Secret Key
用户需要以 http 的方式运行云端代码,需要先确定应用的 Secret Key。 调用云端代码时, 通过 Secret Key 标识一个应用, 获取 Secret Key 的路径:管理后台->应用密钥->Secret Key, 如 下图 14 所示:
bmob 提供了数据库对象(oData)用于操作数据。 用云端代码往数据表“message”插入一条数据,可用如下的代码
点击保存后在云端代码调试区按“发送请求” ,返回“success”的值,如下图 16 所示:
图 16
在管理后台->数据浏览->应用表“message”下查看通过云端代码新增的数据,如下图 17 所 示:
1.注册 bm 官网后,点击右 上角的“注册” ,在跳转页面填入你的姓名、邮箱、设置密码,如下图 1 所示:
图1 注册成功,到注册所填入的邮箱查看 bmob 发送的邮件,点击其中激活链接后,就能使用邮 箱和密码登录 bmob。
图4
3. 数据的基本操作
创建应用成功后,开发者在管理后台点击刚才创建的应用,进入到应用的后台界面,其中最 常用的是“数据浏览界面” ,在该界面提供了便利的图形化操作,让开发者轻松地对该应用 所属的数据库进行表的增删,数据的增删改查等操作,如下图 5 所示:
图5 每个应用的数据库都有一个默认的表"_User",其提供了一些常用的字段来记录该应用的用户 信息。 开发者需要增加新的表来存储信息时,点击“添加表”按钮,输入表名,就能创建一张新表, 如下图 6 所示:
4.1 云端代码的基本知识
对于一些复杂的应用,您可能希望增加一些特有的业务逻辑,并能灵活掌控,Bmob 云端代 码提供了这种灵活性,可以让您的代码直接在 Bmob 云上运行, 通过 SDK(Android,iOS) , restful api 或者任何 http 的方式调用,即可获取结果数据。 云端代码的编码采用 nodejs 语法,简单易用。在云端代码的编辑器中,系统默认生成了云 端代码的入口函数 function onRequest(request, response, modules), 你可以根据自己的需求实 现业务逻辑代码。 在云端代码界面,创建一个名为"helloworld"的云端代码,如下图 9 所示:
相关主题