上传配置 temp-cloud-callback-config.json 已经废弃 后续会推出新的方式 --此路不通了 [20190620更]
需开发者工具版本:现在最新版本是RC v1.02.1905151
基础库:2.7.0
开通了云开发的小程序可以使用云函数接收消息推送,目前仅支持客服消息推送。
接入步骤如下:
1、开发者工具中填写配置并上传
2、云函数中处理消息
第一步:开发者工具中填写配置并上传
在项目根目录下新建消息推送配置文件 temp-cloud-callback-config.json 并在填写完成后右键该文件选择上传配置。
配置文件格式如下(以客服消息推送配置为例):
{ "enable": true, "callbacks": [ { "msgType": 1, "functionName": "云函数名", "env": "环境ID" } ] }
字段说明:
- enable: 只有为 true 时云函数消息推送才会启用,否则所有云函数消息推送都不会生效
- callbacks: 接收推送的所有云函数配置
- callbacks.msgType: 消息的 msgType,客服消息的 msgType 为 1
- callbacks.functionName: 接收消息推送的云函数名称
- callbacks.env: 云函数所在环境
写好后,右键该文件,选择上传配置。
第二步:云函数中处理消息
云函数被触发时,其 event 参数即是接口所定义的 JSON 结构的对象(统一 JSON 格式,不支持 XML 格式)。
以客服消息为例,接收到客服消息推送时,event 结构如下:
{ "FromUserName": "ohl4L0Rnhq7vmmbT_DaNQa4ePaz0", "ToUserName": "wx3d289323f5900f8e", "Content": "测试", "CreateTime": 1555684067, "MsgId": "49d72d67b16d115e7935ac386f2f0fa41535298877_1555684067", "MsgType": "text" }
此时可调用客服消息发送接口回复消息,一个简单的接收到消息后统一回复 “收到” 的示例如下:
// 云函数入口文件 const cloud = require(\'wx-server-sdk\') cloud.init() // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() await cloud.openapi.customerServiceMessage.send({ touser: wxContext.OPENID, msgtype: \'text\', text: { content: \'收到\', }, }) return \'success\' }
请发表评论