第一步:
获取订阅消息 相关信息部分 相关地址https://developers.weixin.qq.com/miniprogram/dev/api/open-api/setting/SubscriptionsSetting.html
getSubscribe:function(){ var self=this; wx.getSetting({ withSubscriptions: true, success (res) { //保存后同步信息 self.subscribeRequest(res); } }) },
第二步:
根据后台需求进行数据获取转化 发起请求
subscribeRequest:function(res){ var itemSettings=res.subscriptionsSetting.itemSettings?res.subscriptionsSetting.itemSettings:{}; var itemSettingsArr=[]; for(var key in itemSettings){ itemSettingsArr.push({ tmplId:key, status:itemSettings[key] }); } var data={ mainSwitch:res.subscriptionsSetting.mainSwitch, msgTypeStr: '1',//需要订阅的消息type,逗号分隔 1-任务上新,2-专项任务定向邀请,3-任务奖励和进度提醒 4-平台账号审核结果通知 wxSession:wx.getStorageSync("wxSession"), itemSettings:itemSettingsArr }; var self=this; self.setData({ dingyueInfo: {} }) requestDetail.getStatus({ type:"POST", loading:false, contentType:"json", data:data, success:function(r){ var data=r.data; if(r.statusCode==0){ //储存事件 // wx.setStorageSync('subscribeIds',r.data.tmplIds); self.setData({ dingyueInfo: r.data }) } }}); },
第三步:
满足条件唤起订阅消息弹出层
// 吊起推送消息 evokePush:function(id,info){ console.log("调起订阅"); // console.log(id); // let ids = ['GzYE3DQOMgOWaNdD3kpZDH6iE0QSTcoWrbgIUMpPvgg']; let ids = id; let self = this; wx.requestSubscribeMessage({ tmplIds: ids, success (res) { console.log(res) // 同步 self.saveDyType(id,res); // 点击允许 保存地址 self.saveAddress(info); }, fail:function(r){ console.log('r'); console.log(r); } }) },
第四步:
根据个人需求在允许或者拒绝时候执行方法
备注:在异步请求中无法唤起订阅消息;