当前位置:网站首页>Subscription number development of wechat applet (message push)

Subscription number development of wechat applet (message push)

2022-04-23 14:04:00 one billion twenty-nine million one hundred and seventy-nine th

Due to the development change of wechat subscription number , Some contents of the subscription number push written before can't be used , So I rearranged the development logic , I hope it can help friends in need .
One 、 Select the template for the subscription number message
Log in to the background of wechat applet through wechat public platform , Follow the steps below to select the template , Get the id, Message push needs to use .
 Insert picture description here
Templates id
 Insert picture description here
Two 、 Preparation of other parameters
(1) Parameter Introduction
openid: Each wechat is unique id, Service notification is used to notify who you want to notify , Whose? openid I'll send it to you , It's like your phone number , Text you , You must know your phone number .
access_token: Because how to realize wechat service notification , At the bottom, we don't know , Wechat gave the interface , If you want to use this interface, you must have access_token Parameters . Because wechat secrecy is still relatively strict , Therefore, various parameters are required to obtain .
template_id: Templates id, This is inside the wechat public platform , What format notification template do you choose , Just put the corresponding template_id Paste it over .( The above has obtained )
appid、secret: Inside the wechat public platform , Everyone should be familiar with this , I won't say much more .
(2) Parameter acquisition
openid

  // obtain openid
    wx.login({
      success: function (res) {
        var code1 = res.code
        var appid1 = " Their own "
        var secret1 = " Their own "
        var ul = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid1 + '&secret=' + secret1 + '&js_code=' + code1 + '&grant_type=authorization_code'
        // obtain openid
        wx.request({
          url: ul,
          method: 'GET',
          success: function (e) {
            var openid = e.data.openid
            console.log(' Get the unique of login identity openid', openid)
            that.openid=e.data.openid
            wx.setStorageSync('openid', openid)
          }
        })

      }
    })

access_token

// obtain access_token
    const appid = "" //  Here's your appid
    const secret = "" //  Here's your secret
    wx.request({
      url: `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${secret}`, 
      header: {
        'content-type': 'application/json' 
      },
      success(res) {
        console.log("at Wechat applet "+res.data.access_token)
        that.access_token=res.data.access_token
        console.log("onload:"+that.access_token)
        wx.setStorageSync('at',res.data.access_token)
      },
      fail(error){
        console.log(error)
      }
    })

3、 Message push
This requires a binding function to trigger , The loading function cannot be implemented
wxml

<view class="tab-item" bindtap="Initialize">
    <text> To obtain position </text>
    </view> 

js

  // Initialization function 
  Initialize(e){
  // Send subscription message 
    var that=this
    wx.requestSubscribeMessage({
      // Templates id   Wechat public backstage access 
      tmplIds: ['feqi54dbgg2vSfzQ54nMJbor8Bf7tCgf58HotgrGof8'],
      success(res) {
        if(res.errMsg === 'requestSubscribeMessage:ok'){
        that.sendMessage();
        }
     }
     })
  },

  sendMessage: function (e) {
    var that=this
    var today = new Date();
    var year = today.getFullYear();
    var m1 = today.getMonth();
    var month = m1 + 1
    var day = today.getDate();
    var h = today.getHours();
    var m = today.getMinutes();
    var etime = year + "-" + month + "-" + day 
    var time=h+":"+m
    const access_token1 = wx.getStorageSync('at');
    const openid1 = wx.getStorageSync('openid')
    const value1 = wx.getStorageSync('value1')
    const value3 = wx.getStorageSync('value3')
    const page = wx.getStorageSync('page1')
    console.log(" test at"+access_token1+" test openid"+openid1)
    wx.request({
      url: `https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=${access_token1}`, // Just for the sample , Not a real interface address 
      data: {
        "touser": openid1,
        "template_id": "feqi54dbgg2vSfzQ54nMJbor8Bf7tCgf58HotgrGof8",
        "page":page,
        "data":{
          "thing1": {
            "value": value1
          },
          "time2": {
            "value": time
          },
          "thing3": {
            "value": value3
          },
          "thing4": {
            "value": " Click to view the detailed introduction "
          }
        }
      },
      method: 'post',
      header: { 'Content-Type': 'application/json' },
      success(res) {
        console.log("res",res)
      },
      fail(error){
        console.log("error",error)
      }
    })
  },

版权声明
本文为[one billion twenty-nine million one hundred and seventy-nine th]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231401298171.html