赞
踩
需要的小程序信息:
先附上官网地址:uniapp订阅消息
使用框架:uniapp
前端要做的事情其实很简单,只需要调用uniapp官方的requestsubscribemessageApi, 并在成功的回调中调用服务端接口告诉服务端订阅成功即可。
以下为示例代码:
const getOpenId = () => { uni.login({ provider: 'weixin', success: (res) => { uni.request({ url: 'http://localhost:3000/getOpenId', // 需修改为实际对应的url method: 'POST', data: { code: res.code }, header: { 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8', }, success(r: any) { openId.value = r.data.data } }) } }) }
const subscribe = () => { uni.requestSubscribeMessage({ tmplIds: ['自己的模板id'], success(res) { uni.request({ url: 'http://localhost:3000/subscribe',// 需修改为实际对应的url method: 'POST', data: { openId: openId.value, }, header: { 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8', }, success(res) { console.log(res) } }) }, }) }
到这里,前端要做的事情就差不多了,剩下的交给服务端了。
使用语言:node.js
appId, secret 文章开头有获取途径
app.post('/getOpenId', async (req, res) => {
const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${appid}&secret=${secret}&js_code=${req.body.code}&grant_type=authorization_code`;
const resData = await request.get(url)
res.send({ data: resData.data.openid, status: 200 })
})
app.post('/subscribe', async (req, res) => { // 获取access_token, 供调用微信接口发起服务通知使用 const tokenRes = await request.get('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret') const data = { touser: req.body.openId, template_id: '模板id', page: 'pages/index/index', data: { // 这里为模板字段配置 "thing1": { "value": '测试1' }, "thing3": { "value": '测试2' }, } } // 调用微信接口,向用户发起服务通知,此接口调用时机可自行把握,此处为实时通知。 const messageRes = await request.post(`https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${tokenRes.data.access_token}`, data) res.send({ data: circularJSON.stringify(messageRes), status: 200 }) })
到这里,服务端代码也差不多了。
需要微信小程序具有管理权限的人登录小程序公众平台后台,对模板进行相应的配置。
const data = {
touser: req.body.openId,
template_id: '模板id',
page: 'pages/index/index',
data: { // 这里为模板字段配置
"thing1": {
"value": '测试1'
},
"thing3": {
"value": '测试2'
},
}
}
thing1
,thing3
就对应模板中详细内容的值,value则为实际值
以上则为 小程序订阅服务通知主要代码实现 的主要代码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。