小程序如何实现模板消息发送的功能
小程序作为现在非常流行的微信公众号的一种形式,可以帮助企业快速布局和开拓市场。而在小程序中,模板消息的使用,能够方便地实现对用户的实时提醒,让用户在使用小程序的时候更加顺畅。那么,小程序如何实现模板消息的发送功能呢?
1、后台配置
在小程序后台中,需要先进行模板消息的配置。打开小程序管理后台,进入开发->开发设置->模板消息,点击“添加模板”,即可开始进行配置操作。首先要填写模板标题以及相关示例代码:
{{keyword1.DATA}}
{{keyword2.DATA}}
{{keyword3.DATA}}
{{keyword4.DATA}}
{{keyword5.DATA}}
{{keyword6.DATA}}
{{keyword7.DATA}}
其中,{{keywordX.DATA}}表示所需要填写的数据,这里的X表示需要填写的数据的个数,取值范围为1到7。同时,还需要填写模板内容以及相关示例代码:
您有一条新的订单,请及时处理!
订单编号:{{keyword1.DATA}}
订单状态:{{keyword2.DATA}}
下单时间:{{keyword3.DATA}}
客户姓名:{{keyword4.DATA}}
联系电话:{{keyword5.DATA}}
订单金额:{{keyword6.DATA}}
订单备注:{{keyword7.DATA}}
在填写的时候,需要注意,{{keywordX.DATA}}中的X需要和模板标题中填写的数据个数保持一致,同时在模板内容中也需要将对应的数据位置填充好。
2、获取access_token
在调用微信接口之前,需要先获取access_token。我们可以在小程序的后端获取access_token,将其存储在缓存中,在发送模板消息时直接读取该缓存即可。
const APPID = "xxx"; // 小程序ID
const APPSECRET = "xxx"; // 小程序秘钥
/**
* 获取access_token
*/
function getAccessToken() {
return new Promise((resolve, reject) => {
wx.request({
url: "https://api.weixin.qq.com/cgi-bin/token",
data: {
grant_type: "client_credential",
appid: APPID,
secret: APPSECRET
},
success: function (res) {
if (res.data.access_token) {
resolve(res.data.access_token)
} else {
reject(res.data.errmsg)
}
},
fail: function (err) {
reject(err)
}
})
})
}
这里我们使用Promise来异步获取access_token,方便后续的调用。
3、发送模板消息
获取到access_token之后,我们就可以开始发送模板消息了。使用微信提供的模板消息发送接口,代码如下:
const TEMPLATE_ID = "xxx"; // 模板ID
const ACCESS_TOKEN = "xxx"; // access_token
const OPEN_ID = "xxx"; // 用户的openid
/**
* 发送模板消息
*/
function sendTemplateMessage() {
var data = {
"touser": OPEN_ID,
"template_id": TEMPLATE_ID,
"miniprogram": {
"appid": "xxx",
"pagepath": "pages/index/index"
},
"data": {
"keyword1": {
"value": "123456"
},
"keyword2": {
"value": "已发货"
},
"keyword3": {
"value": "2022-02-02 12:12:12"
},
"keyword4": {
"value": "张三"
},
"keyword5": {
"value": "13812345678"
},
"keyword6": {
"value": "100.00"
},
"keyword7": {
"value": "无"
}
}
}
wx.request({
url: "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + ACCESS_TOKEN,
method: 'POST',
data: data,
success: function (res) {
console.log(res.data)
},
fail: function (err) {
console.log(err)
}
})
}
在这里,我们需要填写的是模板ID和用户的openid,同时也需要将发送的数据按照模板需求进行填充。发送模板消息时,需要将所有数据填充完成之后,将其作为data参数传入微信提供的模板消息发送接口中。
4、小程序前端实现
在小程序前端中,我们可以通过微信提供的模板消息按钮来触发发送模板消息的操作,代码如下:
/**
* 发送模板消息
*/
function sendMessage() {
// 调用发送消息接口
sendTemplateMessage()
}
Page({
data: {
},
// 发送模板消息
send: function () {
wx.showModal({
title: '提示',
content: '确认发送模板消息?',
success(res) {
if (res.confirm) {
// 发送模板消息
sendMessage()
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
})
这里我们通过一个按钮来触发发送消息的操作,当用户点击发送按钮时,会弹出一个确认框,用户确认发送后,即可发送模板消息。
总结
通过以上的介绍,我们可以看到,小程序实现模板消息功能的过程,其实是比较简单的。只需要在小程序后台中进行模板消息的配置,在小程序前端中触发发送消息的操作,同时在后端获取access_token并调用微信提供的发送模板消息接口即可。当然,具体的实现过程会依赖于所采用的技术栈和业务需求,但总的来说,小程序实现模板消息的功能还是比较容易的。