微信订阅发送消息

微信订阅消息通知目前有两种方式,一种为长期订阅即订阅一次可无限期发送消息,一种为一次性订阅即订阅一次消息通知接收一次消息通知,首先从前端来说发送消息即为获取订阅消息授权,调微信发送消息通知接口即可成功,接下来为详细说明,

首先获取微信订阅消息授权

requestMessage() {

var tmplIds = '' // 此处是你的模板id,可在小程序

// 这里是获取下发权限地方,根据官方文档,可以根据  wx.getSetting() 的 withSubscriptions  这个参数获取用户是否打开订阅消息总开关。后面我们需要获取用户是否同意总是同意消息推送。所以这里要给它设置为true 。

wx.getSetting({

withSubscriptions: true, //  这里设置为true,下面才会返回mainSwitch

success: function(res) {

// 调起授权界面弹窗

var itemSettings = res.subscriptionsSetting.itemSettings;

if (itemSettings) {

if (itemSettings[tmplIds] != 'accept') { // 用户打开了订阅消息总开关

// 每次执到这都会拉起授权弹窗

wx.showModal({

title: '提示',

content: '请授权开通服务通知',

showCancel: true,

success: function(ress) {

if (ress.confirm) {

// console.log('用户点击确定')

wx.requestSubscribeMessage({ // 调起消息订阅界面

tmplIds: [tmplIds],

success(res) {

console.log('订阅消息 成功 ');

// console.log(res);

},

fail(er) {

console.log("订阅消息 失败 ");

// console.log(er);

}

})

} else if (ress.cancel) {

// console.log('用户点击取消')

}

}

})

} else {

console.log('订阅消息已经开启')

}

} else {

wx.showModal({

title: '提示',

content: '请授权开通服务通知',

showCancel: true,

success: function(ress) {

if (ress.confirm) {

// console.log('用户点击确定')

wx.requestSubscribeMessage({ // 调起消息订阅界面

tmplIds: [tmplIds],

success(res) {

console.log('订阅消息 成功 ');

// console.log(res);

},

fail(er) {

console.log("订阅消息 失败 ");

// console.log(er);

}

})

} else if (ress.cancel) {

// console.log('用户点击取消')

}

}

})

}

},

fail: function(error) {

console.log(error);

}

})

},

之后调用微信接口

https://api.weixin.qq.com/cgi-bin/token

此接口需要appid secret,此参数可在微信公众平台查看

获取到access_token,再发送消息接口中会用到这个参数

之后调用https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN,

此接口需要模板id、用户的openid,data模板消息内容,即可发送给对应用户消息通知了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容