微信小程序js中发送订阅消息问题

1.订阅授权不拉起

官网
官网的走完第一步申请模板就看不懂了。
wx.requestSubscribeMessage放在getSetting不会拉起。
解决方式是:通过封装方法,在点击登录按钮的时候顺便激活。

2.发送模板

下面是激活订阅的代码,放在a方法里,用that.requestSubscribe激活即可,然后按钮绑定a方法即可

///发起消息订阅
 requestSubscribe:function(){
	wx.requestSubscribeMessage({
        tmplIds: ['123456'],
        success :(res)=>{
          console.log("订阅消息 成功 "+JSON.stringify(res));
          this.setData({
            hasMessage: true
          })
         },
        fail :(errCode,errMessage) =>{ 
          console.log("订阅消息 失败 "+errCode+" message "+errMessage);
        },
        complete:(errMsg)=>{
          console.log("订阅消息 完成 "+JSON.stringify(errMsg));
        }
    
      });
},

下面是发送消息模板,都是模拟数据,只要走通发出去了就很容易了。

   //发送消息
   sendMessage: function () {
    let appid = "123456";
    let secret = "123456";
    let requestUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+appid+"&secret="+secret;
    let access_token = null;
    let formData = {
      "touser": "123456",
      "template_id": "123456",
      "page": "/pages/index/index",
      "miniprogram_state":"trial",
      "lang":"zh_CN",
      "data": {
          "character_string6": {
              "value": "339208499"
          },
          "thing1": {
              "value": "lq"
          },
          "phrase2": {
              "value": "待付款"
          } ,
          "date3": {
              "value": "2019年10月1日 15:01"
          } ,
          "thing5": {
              "value": "ncsk"
          }
      }
    }

    //获取token
    wx.request({
      url: requestUrl,
      method: 'GET',
      header: { "Content-Type": "application/json;charset=UTF-8"},
      success: function (res) {
        console.log("成功获取token!:"+res.data.access_token)
        let url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+res.data.access_token;
        //发送消息
        wx.request({
          url: url,
          method: 'POST',
          header: { "Content-Type": "application/json;charset=UTF-8"},
          data: JSON.stringify(formData),
          success: function (res) {
            console.log("发送成功!:"+JSON.stringify(res))
          },
          fail: function(res){
            console.log("发送失败!")
          }
        })
      },
      fail: function(res){
        console.log("获取token失败!")
      }
    })
    
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值