• 微信小程序订阅消息


    第一步:

       获取订阅消息 相关信息部分 相关地址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

    第四步:

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

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

  • 相关阅读:
    005 字符串
    004 变量
    003 python中的内置函数
    002 如何在一台PC上装两个版本的python
    在github上创建新的分支(包括管理分支)
    使用git工具上传自己的程序到github上
    004 Java的一次面试题,学长列举
    为什么分布式一定要有Redis?
    027 ResourceBundle.getBundle方法
    Jenkins下载安装
  • 原文地址:https://www.cnblogs.com/lst619247/p/14685693.html
Copyright © 2020-2023  润新知