微信小程序开发中的消息订阅与模板消息发送是一个非常重要的功能,可以用来向用户发送各种通知。在本文中,我将详细介绍如何实现消息订阅和模板消息发送,并附上代码案例。
为了方便理解,我先介绍一下消息订阅和模板消息的基本概念。
消息订阅是指用户主动订阅某些消息类型,例如订单状态更新、商品推荐等。用户在小程序中订阅了这些消息类型后,开发者可以通过接口向用户发送相应的通知。
模板消息是一种固定格式的消息,包括标题、内容和点击跳转链接。开发者可以在小程序后台设置模板消息,并获取到模板消息的模板 ID。然后,开发者可以通过接口将模板消息发送给用户。
接下来,我将分别介绍如何实现消息订阅和模板消息发送,先从消息订阅开始。
一、消息订阅
- 在小程序后台设置订阅消息
首先,在小程序后台进入“开发-基本设置-订阅消息”,点击“添加订阅消息”按钮。
然后,选择要订阅的消息类型,并填写模板标题、模板内容和跳转链接。点击确定后,即可得到该消息的模板 ID。
- 用户订阅消息
在小程序中,用户可以通过调用 wx.requestSubscribeMessage 接口来订阅消息。例如,当用户点击订阅按钮时,可以调用如下代码:
wx.requestSubscribeMessage({
tmplIds: ['模板ID1', '模板ID2'],
success(res) {
console.log(res)
}
})
其中,tmplIds 参数是一个数组,用来指定要订阅的消息模板 ID。调用成功后,会返回一个对象,包含每个模板 ID 的订阅结果。
- 发送订阅消息
在用户订阅了消息后,开发者可以通过接口向用户发送消息。例如,当订单状态更新时,可以调用如下代码发送消息:
wx.cloud.callFunction({
name: 'sendSubscribeMessage',
data: {
openid: '用户的openid',
templateId: '模板ID',
page: '跳转链接',
data: {
name1: {
value: '商品名称'
},
date2: {
value: '订单日期'
},
phrase3: {
value: '订单状态'
}
}
},
success(res) {
console.log(res)
},
fail(err) {
console.error(err)
}
})
其中,sendSubscribeMessage 是一个云函数,用来发送订阅消息。data 参数是一个对象,包含了发送消息所需的参数,包括用户的 openid、模板 ID、跳转链接和消息内容。
二、模板消息发送
- 在小程序后台设置模板消息
首先,在小程序后台进入“开发-基本设置-模板消息”,点击“添加模板”按钮。
然后,选择一个模板,并填写模板标题和模板内容。点击确定后,即可得到该模板的模板 ID。
- 发送模板消息
在小程序中,可以通过调用 wx.request 接口来发送模板消息。例如,当用户下单成功时,可以调用如下代码发送消息:
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN',
method: 'POST',
data: {
touser: '用户的openid',
template_id: '模板ID',
page: '跳转链接',
form_id: '表单ID',
data: {
keyword1: {
value: '商品名称'
},
keyword2: {
value: '订单金额'
},
keyword3: {
value: '下单时间'
}
}
},
success(res) {
console.log(res)
},
fail(err) {
console.error(err)
}
})
其中,ACCESS_TOKEN 是小程序的 access_token,用来发送请求。touser 参数是用户的 openid,template_id 参数是模板 ID,page 参数是跳转链接,form_id 参数是表单 ID,data 参数是消息内容。
以上就是消息订阅和模板消息发送的基本流程和代码示例。通过这些代码,开发者可以实现消息订阅和模板消息发送的功能,并根据自己的需求进行调整和扩展。
希望这篇文章能对你有所帮助!