赞
踩
实战项目名称:实现微信小程序订阅消息通知
登录后,在功能 > 订阅消息 > 公共模板库 ,然后去添加你需要的模板
红线
部分的内容,下一步用的到// 示例代码,对应上方红线的内容
let messages =
{
touser: '********************',//给某用户推送的openid,这个得你获取到用户的openid,才可以进行推送
template_id: 'xxxxxxxxxxxxxxxxxxxxxxx', //订阅模板id
data: {
character_string1: {
value: 'order_87689176582576'// 订单号
},
amount13: {
value: '9999.00' //订单金额
},
amount4: {
value: '9999.00' //支付金额
}
}
}
// config.app.appid 对应小程序的appid
// config.app.secret 对应小程序的秘钥
const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${config.app.appid}&secret=${config.app.secret}`
const responses = await axios.get(url)
.then(function (response) {
// 处理成功情况
return response.data
})
.catch(function (error) {
// 处理错误情况
console.log(error);
})
这里有用到request插件,记得
npm install request
或者yarn add request
;
import request from 'request'
// responses.access_token就是上一步我们拿到的access_token
const urls = `https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${responses.access_token}`
const options = {
method: 'post',
url: urls,
json: messages //第二步定于的消息内容
}
request(options, function (err, res, body) {
if (err) {
console.log(err)
} else {
if (body.errcode !== 0) {
console.log(body)
}
}
})
// 点击后,会弹窗一个授权窗口,同意之后就可以进行测试订阅消息推送了
uni.requestSubscribeMessage({
// 模板id:可以在微信公众平台 -> 功能 -> 订阅信息进行选择
tmplIds: ['3pDRw50ype8nrg8ntqeiBnhFPzQ_kpADrPWsFhwhtNI'],
success: res => {
console.log(res)
},
fail: e => {
console.log(e)
}
})
async startToast(_, { id }) {
let messages =
{
touser: '********************',//给某用户推送的openid
template_id: 'xxxxxxxxxxxxxxxxxx',//订阅模板id(上面提到的)
data: {
character_string1: {
value: 'order_87689176582576'// 订单号
},
amount13: {
value: '9999.00' //售后单号
},
amount4: {
value: '9999.00' //退款时间
}
}
}
const url = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${config.app.appid}&secret=${config.app.secret}`
const responses = await axios.get(url)
.then(function (response) {
// 处理成功情况
return response.data
})
.catch(function (error) {
// 处理错误情况
console.log(error);
})
// console.log(responses)
const urls = `https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${responses.access_token}`
// console.log(urls)
const options = {
method: 'post',
url: urls,
json: messages
}
request(options, function (err, res, body) {
if (err) {
console.log(err)
} else {
if (body.errcode !== 0) {
console.log(body)
}
}
})
},
没有长期订阅
的方案模板ID注意一定要一致
,不然推送不了Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。