subscribeMessage() {
wx.getSetting({
withSubscriptions: true,
success(res) {
// 获取订阅消息模板id
let temid1;
let remindInfoList = app.getDicList("DOCTOR_REMIND_MSG_INFO");
remindInfoList.forEach((item) => {
if (item.dicCode === app.globalData.projectId) {
temid1 = item.defaultValue1;
}
});
// 该用户订阅设置详情
let itemSettings = res.subscriptionsSetting.itemSettings;
// 1.如果用户未开启消息订阅的通知管理
if(!res.subscriptionsSetting.mainSwitch){
wx.showModal({
title: '温馨提示',
content: "您暂未打开订阅通知提醒,请点击右上角(·•·),点击设置->通知管理->打开接收通知并设置每个提醒为'接收'",
showCancel: false,
confirmText: '已知晓'
})
return;
}else if(itemSettings && itemSettings[temid1] === "accept"){
// 2.如果单条提醒都开启(这里只有一个模板id)
console.log("消息已订阅");
}else{
// 3.未曾订阅或有提醒未开启
wx.showModal({
title: "温馨提示",
content: "为了提供给您更好地服务,需要您授权消息订阅服务",
success(res2) {
if(res2.confirm){
// 订阅消息
wx.requestSubscribeMessage({
tmplIds: [temid1],
success(res3) {
console.log(res3);
if(res3[temid1] !== "accept" && itemSettings){
wx.showModal({
title: '温馨提示',
content: "您有未被允许接收的订阅提醒,请点击右上角(·•·),点击设置->通知管理->打开接收通知并设置每个提醒为'接收'",
showCancel: false,
confirmText: '已知晓'
})
}
},
// 接口调用失败的回调函数
fail(err) {
wx.showModal({
title: '温馨提示',
content: "订阅消息失败",
showCancel: false,
confirmText: '已知晓'
})
},
});
}
},
});
}
}
});
微信小程序订阅消息弹框提示用户开启
最新推荐文章于 2024-01-09 14:16:32 发布