/*************一次性消息订阅*******************/
const str_1 = '需要订阅的消息模板的id'
const str_2 = '需要订阅的消息模板的id'
wx.getSetting({
withSubscriptions: true,
success: (value)=>{
if(value.subscriptionsSetting.mainSwitch == true){
wx.requestSubscribeMessage({
tmplIds: [str_1 ,str_2 ],
success : (res)=> {
console.log(res)
},
fail: (value)=>{
console.log(value)
}
})
}
}
})
/****************永久性消息订阅*******************/
const str_1 = '需要订阅的消息模板的id'
const str_2 = '需要订阅的消息模板的id'
wx.getSetting({
withSubscriptions: true,
success: (value)=>{
if( !value.subscriptionsSetting.itemSettings &&
!value.subscriptionsSetting.itemSettings ){
wx.requestSubscribeMessage({
tmplIds: [str_1 ,str_2],
success : (res)=> {
},
fail: (value)=>{
}
})
}else{
const status = value.subscriptionsSetting.itemSettings
if(!value.subscriptionsSetting.itemSettings[str_1] &&
!value.subscriptionsSetting.itemSettings[str_2]){
wx.requestSubscribeMessage({
tmplIds: [str_1 ,str_2],
success : (res)=> {
},
fail: (value)=>{
}
})
}else{
}
}
}
})
/********永久性消息订阅可能会遇到的情况************/
const str_1 = '需要订阅的消息模板的id'
const str_2 = '需要订阅的消息模板的id'
const str_3 = '需要订阅的消息模板的id'
wx.getSetting({
withSubscriptions: true,
success: (value)=>{
if(!value.subscriptionsSetting.itemSettings){
wx.requestSubscribeMessage({
tmplIds: [str_1 ,str_2 ,str_3],
success (res) {
},
fail: (value)=>{
}
})
}else{
const status = value.subscriptionsSetting.itemSettings
if(status[str_1] == 'accept'){
console.log('同意消息订阅')
}else if(status[str_1] == 'reject'){
console.log('您拒绝了消息订阅','是否需要重新获取消息')
}else if(status[str_1] == 'ban'){
console.log("您已被后台拉黑")
}
}
}
})
其实代码大致相同 只是逻辑处理方面的差异