快捷搜索: 王者荣耀 脱发

微信小程序 订阅消息功能

步骤一 获取模板id

可以选择添加公共模板 (只能用一次)

步骤二 获取下发权限

下发权限的获取十分简单,只需要在小程序端调用requestSubscribeMessage API即可

使用方法:

wx.requestSubscribeMessage({
          
   
  tmplIds: [],
  success (res) {
          
    }
})

这个时候我们可以看到调用时,屏幕下部弹出一个消息框: 步骤三:调用接口下发订阅消息

(1)下发消息的核心在于发送POST请求:subscribeMessage.send,通过此条请求我们将获得下发能力:

    请求示例:
{
          
   
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "miniprogram_state":"developer",
  "lang":"zh_CN",
  "data": {
          
   
      "number01": {
          
   
          "value": "339208499"
      },
      "date01": {
          
   
          "value": "2015年01月05日"
      },
      "site01": {
          
   
          "value": "TIT创意园"
      } ,
      "site02": {
          
   
          "value": "广州市新港中路397号"
      }
  }
}

(2)请求并不复杂,重要的是参数的获取,发送请求我们至少需要这些参数:

    access_token接口调用凭证:参考博客 touser用户的 openid:参考博客: 所需下发的订阅模板id 数据包部分:data在前端填写好参数,传入服务器,注意数据包的参数规则:

例如,模板的内容为

姓名: {
          
   {
          
   name01.DATA}}
金额: {
          
   {
          
   amount01.DATA}}
行程: {
          
   {
          
   thing01.DATA}}
日期: {
          
   {
          
   date01.DATA}}

则对应的json为

{
          
   
  "touser": "OPENID",
  "template_id": "TEMPLATE_ID",
  "page": "index",
  "data": {
          
   
      "name01": {
          
   
          "value": "某某"
      },
      "amount01": {
          
   
          "value": "¥100"
      },
      "thing01": {
          
   
          "value": "广州至北京"
      } ,
      "date01": {
          
   
          "value": "2018-01-01"
      }
  }
}
    用这样的参数规则我们将前端的参数传入后台:
//发送订阅消息
  message: function () {
          
   
    var that = this;
    //订阅消息模板id
    var template_id ="fqgotens_HRal3Ygiy7_WafYLsvDyMxvnNv9P8uJ_Ro";
    wx.requestSubscribeMessage({
          
   
      tmplIds: [fqgotens_HRal3Ygiy7_WafYLsvDyMxvnNv9P8uJ_Ro],
      success(res) {
          
   
      //发送access_token请求
        wx.request({
          
   
          url: https://littlede.applinzi.com/message.php,
          data:{
          
   
            access_token: that.data.accessToken,
            //数据包
            data:{
          
   
            //openid
              "touser": that.data.openid,
            //模板id
              "template_id": template_id,
              "page": "index",
              "miniprogram_state": "developer",
              "lang": "zh_CN",
              "data": {
          
   
                "date1": {
          
   
                  "value": "2020年02月18日"
                },
                "phrase2": {
          
   
                  "value": "岳阳市"
                },
                "phrase3": {
          
   
                  "value": "晴"
                },
                "character_string4": {
          
   
                  "value": "15℃"
                }
              }
            }
          },
          success: function(res) {
          
   
            console.log("订阅成功");
            console.log(res);
          },
          fail: function(res) {
          
   
            console.log("订阅失败");
          },
        })
      }
    })
  },
    服务器端代码:获取参数 发送post请求

最后我们调用函数,获取用户openid,获取access_token,获取模板id,发送subscribeMessage.send`post请求,可以看到用户成功接收到订阅消息:

经验分享 程序员 微信小程序 职场和发展