目录
1、开通订阅消息
2、请求用户授权
2.1、wx.requestSubscribeMessage(Object object)
2.2、wx.requestSubscribeDeviceMessage(Object object)
3、发送订阅信息
3.1、调用方式
3.2、云调用接口方法
3.3、请求参数
3.4、返回值
3.5、代码示例
1、开通订阅消息
登录小程序之后点击功能下的订阅消息,点击开通
选择公共模板库的一次性订阅
我选择是注册模板,模板ID就是我所需要的东西
2、请求用户授权
订阅消息授权时,只能是用户点击或者支付完成后才可以调起来授权弹窗,详情请见微信官方文档-requestSubscribeMessage
2.1、wx.requestSubscribeMessage(Object object)
调起客户端小程序订阅消息界面,返回用户订阅消息的操作结果。当用户勾选了订阅面板中的“总是保持以上选择,不再询问”时,模板消息会被添加到用户的小程序设置页,通过wx.getSetting接口可获取用户对相关模板消息的订阅状态。
参数
object.success 回调函数
object.fail 回调函数
错误码
代码示例
var TemplateID = 'xxxxxxxx'var TemplateStatus = wx.getStorageSync('TemplateID')if(TemplateStatus != 'accept'){wx.requestSubscribeMessage({tmplIds: [TemplateID],complete (res) {console.log("complete: ",res)wx.setStorageSync('TemplateID', res[TemplateID])},})}
使用效果
可以看到,这里显示的就是我们添加的 ‘注册成功通知’的模板。
真机上多了一个 ‘总是保持以上选择,不再询问’
2.2、wx.requestSubscribeDeviceMessage(Object object)
订阅设备消息接口,调用后弹出授权框,用户同意后会允许开发者给用户发送订阅模版消息。当用户点击“允许”按钮时,模板消息会被添加到用户的小程序设置页,通过 wx.getSetting 接口可获取用户对相关模板消息的订阅状态。
当前未使用
3、发送订阅信息
回复信息时需要使用用户的openid
详情请见微信官方文档:微信官方文档-subscribeMessage.send
3.1、调用方式
HTTPS 调用云调用当前使用云调用
3.2、云调用接口方法
openapi.subscribeMessage.send
3.3、请求参数
3.4、返回值
返回的 JSON 数据包
errCode 的合法值
异常
errCode 的合法值
3.5、代码示例
在云函数中调用,UserOpenid是微信用户的openid,TemplateID是模板id
try {const result = await cloud.openapi.subscribeMessage.send({"touser": UserOpenid,"templateId": TemplateID,"lang": 'zh_CN',"data": {"date2": {"value": '01月05日'},"thing4": {"value": '阿里巴巴'},"character_string9": {"value": '123456789'}},})return result} catch (err) {return err}
其中date2、thing4、character_string9是根据小程序中的模板定义的
效果如图: