第一步:

   获取订阅消息 相关信息部分 相关地址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
                    })
                }
         }});    
     },
View Code

第三步:

  满足条件唤起订阅消息弹出层

    // 吊起推送消息
    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);
             }
        })
    },
View Code

第四步:

   根据个人需求在允许或者拒绝时候执行方法

 

备注:在异步请求中无法唤起订阅消息;

posted on 2021-04-21 16:16  刘世涛6192  阅读(141)  评论(0编辑  收藏  举报