大致的流程,用户在小程序里进行购物等操作,小程序同时弹出授权弹窗请求用户授权,授权成功后,Server就能通过微信的api发消息给用户了
关键步骤
选取消息模板
进入小程序后台选择订阅消息模板,每个模板提供特定的样式
模板申请授权
wx.requestSubscribeMessage({
tmplIds: ['Wi1RBTvrTxGgWm3tfbLj_hy8ItGF_YW72QohcGNSPyE', 'jhN393J2oMKUO_6vPjUJF9iSASrNBN42i1sTmHMRuvY', 'wgkRJwfhkBXZkAyO4P0xO-7rLMkN7t-bQMwfpfnhqA0'],
success(res) {
console.log(res);
}
});
用户会看到如下效果:
通过Server发送消息
Server接口文档:developers.weixin.qq.com/miniprogram…
获取token
可以通过微信开发平台的如下工具,获取到token
获取openid
developers.weixin.qq.com/miniprogram…
wx.login({
success (res) {
if (res.code) {
//发起网络请求
wx.request({
url: `https://api.weixin.qq.com/sns/jscode2session?appid=xxx&secret=xxx&js_code=${res.code}&grant_type=authorization_code`,
data: {
code: res.code
}
}).then(res => {
console.log(res);
})
} else {
console.log('登录失败!' + res.errMsg)
}
}
})
发送示例
curl --location --request POST 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=39_6R8c2NgR8mvb6ju9nXXFLuzdpH3yZdlWdHG8geNPvxsvl7VBvucOct2K5--lQRd2BNObfzsi4wjIVj9Gd-vY8CaV9R3xdtR20np6yH_3hEd6LQSTOp-otcrwUnA44EV9kie0icgGk8k-vGcIDBWjADASQL' \
--header 'Content-Type: application/json' \
--data-raw '{
"touser": "oS2PW5fRasqF0GW6qwuK3BsDORqQ",
"template_id": "Wi1RBTvrTxGgWm3tfbLj_hy8ItGF_YW72QohcGNSPyE",
"lang": "zh_CN",
"data": {
"time1": {
"value": "2019-11-09 21:43"
},
"amount2": {
"value": 9999999999
},
"phrase3": {
"value": "提现成功"
}
}
}'
tips
单次模板和长期模板不可以同时申请授权
{errCode: 20002, errMsg: "requestSubscribeMessage:fail Templates type must be same"}