微信小程序实现消息订阅

1、在微信公众号后台先完善自己的基本信息

2、在小程序后台添加需要订阅消息的模板

3、接下来通过代码来实现消息的订阅

参考链接: https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

按照步骤一、步骤二来实现即可。

步骤一:获取下发权限

wx.requestSubscribeMessage({
    tmplIds: ['模板id'],
    success:res=>{
        
    }
})

步骤二:调用接口下发订阅消息

// 下发订阅消息有两种方式,HTTPS调用和云调用,这里我们采用HTTPS调用

var data = {
              "touser": openid,  //需要提前获取
              "template_id": "Lgyniei-swsCifuPTwD8gDMVGL3BZx4pQjUj7VxmCvc",  //模板id,在微信后台拿
              "data": {
                "thing5": {
                  "value": "王辉辉和张琳琳的婚礼"
                },
                "time2": {
                  "value": "2021年10月1日"
                },
                "number8": {
                  "value": "3"
                },
                "thing6": {
                  "value": "柳州职业技术学院官塘校区"
                }
              },
}

 wx.request({
    method: 'POST',
    // 调用这个接口需要传入access_token 需要提前获取
    url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' +                     
          res.data.access_token,
    data: data,
    success: res => {
        if (res.data.errcode == 0) {
            wx.showToast({
              title: '提交成功',
              duration: 2000
            })
         }
    }
})

PS:由于步骤二的成功执行需要传入openid和access_token,所以我们需要定义两个函数getOpenId和getAccessToken去获取这两个值

 // 获取openid
  getOpenId(success) {
    wx.login({
      success(res) {
        wx.request({
          url: 'https://api.weixin.qq.com/sns/jscode2session',
          data: {
            appid: 'wxf48d41f57cf4ac34',
            secret: 'c5380adb49407a61e3cf90370e6b64b1',
            grant_type: 'authorization_code',
            js_code: res.code
          },
          success: success
        })
      }
    })
  },



  //获取 access_token,
  getAccessToken(success) {
    wx.request({
      url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxf48d41f57cf4ac34&secret=c5380adb49407a61e3cf90370e6b64b1',
      success: success
    })
  }

最终,以上所有步骤整合起来的全部代码为

Page({
  data: {
    openid: null,
  },
  submit() {
    wx.requestSubscribeMessage({
      tmplIds: ['Lgyniei-swsCifuPTwD8gDMVGL3BZx4pQjUj7VxmCvc'],
      success: res => {
        this.getOpenId(res => {
          this.data.openid = res.data.openid;
          this.getAccessToken(res => {
            console.log(res.data.access_token)
            var data = {
              "touser": this.data.openid,
              "template_id": "Lgyniei-swsCifuPTwD8gDMVGL3BZx4pQjUj7VxmCvc",
              "data": {
                "thing5": {
                  "value": "王辉辉和张琳琳的婚礼"
                },
                "time2": {
                  "value": "2021年10月1日"
                },
                "number8": {
                  "value": "3"
                },
                "thing6": {
                  "value": "柳州职业技术学院官塘校区"
                }
              },
            }
            wx.request({
              method: 'POST',
              url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' + res.data.access_token,
              data: data,
              success: res => {
                console.log(res)
                if (res.data.errcode == 0) {
                  wx.showToast({
                    title: '提交成功',
                    duration: 2000
                  })
                }
              }
            })
          })
        })
      }
    })
  },
  // 获取openid
  getOpenId(success) {
    wx.login({
      success(res) {
        wx.request({
          url: 'https://api.weixin.qq.com/sns/jscode2session',
          data: {
            appid: 'wxf48d41f57cf4ac34',
            secret: 'c5380adb49407a61e3cf90370e6b64b1',
            grant_type: 'authorization_code',
            js_code: res.code
          },
          success: success
        })
      }
    })
  },

  //获取 access_token,
  getAccessToken(success) {
    wx.request({
      url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxf48d41f57cf4ac34&secret=c5380adb49407a61e3cf90370e6b64b1',
      success: success
    })
  }
})

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值