触发器实战教程
触发器介绍
触发器相关文档请移步这里
触发类型:数据表
邮件模板
准备工作
我们先在数据页面,创建一个product表,然后添加如下一个字段:
字段名称 | 类型 |
---|---|
name | string |
创建触发器
我们新建一个触发类型为数据表的触发器,条件卡片的配置如下:
名称 | 内容 |
---|---|
数据表 | product |
事件类型 | create |
满足条件 | 任一 |
条件一 | name = "我的第一件商品" |
接下来我们编辑邮件内容:
名称 | 内容 |
---|---|
收件人 | test-trigger@ifanr.com |
邮件标题 | 您的商品被创建啦 |
邮件内容 | 商品{{name}}被创建啦 |
测试触发器
微信模板消息
准备工作
了解 BaaS JS SDK 的使用方法。
绑定小程序。去应用设置页面绑定小程序,如果已经绑定可以忽略此步。
获取 appSecret。
在小程序后台选择微信消息模板。
准备一个小程序用于测试。
创建触发器
编写小程序代码
info 发送模板消息必须提前提交 formId
WebHook
准备工作
搭建一个 HTTP 服务器用于接收 POST 请求。这里以 Node.js 为例,写一个简单的 demo:
准备一台具有公网 IP 的服务器。
安装 Node.js 环境。
在当前目录下新建
index.js
,并将下方代码块内容粘贴至index.js
。然后执行npm i koa jsonwebtoken
,安装依赖包。
执行node index.js
,启动 HTTP 服务。
创建触发器
我们新建一个触发类型为数据表的触发器,条件卡片的配置如下
名称 | 内容 |
---|---|
数据表 | product |
事件类型 | create |
满足条件 | 任一 |
条件一 | name = 1 |
URL 格式如下
示例
info 这里为了方便演示,将 JWT KEY 放入了query string 中,生产环境不推荐这么操作。
数据表操作
准备工作
新建两张数据表:A 表,B 表。A 表用于激活触发器,然后将结果写入 B 表。
在 A 表新建一个名称为 name,类型为 string 的字段;在 B 表新建一个名称为 result ,类型为 string 的字段。
创建触发器
我们创建一个触发类型为数据表的触发器。 条件卡片如下:
名称 | 内容 |
---|---|
数据表 | A |
事件类型 | create |
满足条件 | 任一 |
条件一 | name != 1 |
接着我们添加一个数据表操作的动作
名称 | 内容 |
---|---|
动作类型 | 数据表操作 |
频率 | 可重复触发 |
数据表 | B |
操作 | 创建 |
操作1 | result = {{name}} |
info 这里我们使用了模板变量,result = {{name}} 的意思是将数据表 A 中 name 字段赋值给数据表 A 的 result 字段。
测试触发器
云函数
创建云函数
代码如下:
创建触发器
测试触发器
触发类型:微信支付回调
准备工作
我们新建一个小程序,在小程序入口加载 BaaS JS SDK,请求用户授权:代码如下
我们在首页增加一个按钮,在按钮上绑定 click 回调,在回调函数中使用 wx.BaaS.pay
来发起支付请求
下文创建的触发器都是以微信支付回调作为触发类型,相关描述将会被省略
邮件-支付回调
动作创建参照上文创建邮件小节,只是这里我们把邮件相关参数改成如下:
名称 | 内容 |
---|---|
邮件标题 | 用户支付成功 |
邮件内容 | 用户支付了{{total_cost}}元, 订单号:{{trade_no}} |
info 这里我们使用了
{{total_cost}}
模板变量,用于拿到用户支付的具体金额。
微信模板消息-支付回调
动作创建参照上文创建微信模板消息小节。只是这里我们把参数 keyword1
改为 {{total_cost}}
,这样就可以拿到用户支付的具体金额。
info 发送模板消息必须提前提交 formId
WebHook-支付回调
动作创建参照上文创建 WebHook 小节。唯一要注意的是,请求 Body 参数会不同。
数据表操作-支付回调
动作创建参照上文创建数据表操作小节。注意这里可选的模板变量有所不同。
云函数-支付回调
创建云函数
我们创建一个云函数 verifyPayment
,函数内容如下
触发云函数
触发类型:定时任务
准备工作
创建触发器
我们创建一个触发类型为定时任务的触发器,触发周期为每小时,动作内容选择我们上面创建的云函数。
测试触发器
触发类型:文件操作
准备工作
创建触发器
我们创建一个触发类型为文件操作的触发器,触发条件为上传文件且上传成功,动作内容选择我们上面创建的云函数。
测试触发器
我们在控制台中上传一个文件:
文件上传操作相关文档请移步这里
触发类型:IncomingWebhook
准备工作
创建触发器
我们创建一个触发类型为IncomingWebhook的触发器,动作内容选择我们上面创建的云函数。
测试触发器
触发类型:微信消息推送
info 假如你已开通客服消息功能,微信消息推送中的「客服消息事件」将统一转送至该服务处理, 如需单独处理客服消息事件,请重新授权小程序并取消「帮助小程序接受和发送客服消息」。
准备工作
创建触发器
我们创建一个触发类型为微信消息推送的触发器,填入小程序或公众号的 AppID,具体参数值请参考微信文档,动作内容选择我们上面创建的云函数。
测试触发器
我们在小程序页面中添加进入客服消息按钮
在小程序页面中点击按钮进入客服会话,并发送文字消息:
触发类型:支付宝支付回调
准备工作
创建触发器
我们创建一个触发类型为支付宝支付回调的触发器,触发条件为支付成功,触发动作下文只讨论支付宝模板消息
动作类型,其他动作类型请参考上文微信支付回调。
info 发送模板消息必须提前提交 formId
测试触发器
我们新建一个小程序,在小程序入口加载 BaaS JS SDK,请求用户授权:代码如下
我们在首页增加一个按钮,在按钮上绑定 click 回调,在回调函数中使用 my.BaaS.pay
来发起支付请求
支付成功结果:
检查触发器日志,调用触发器成功,并成功发送模板消息:
Last updated