微信小程序发送订阅消息(之前是模板消息)

之前的模板消息已经废弃,现在改为订阅消息,订阅消息发布前,需要用户确认后才能接收订阅消息。

微信小程序发送订阅消息(之前是模板消息)_第1张图片

小程序端

index.wxml

index.js

const app = getApp()
Page({
  data: {
  },

send:function(){
    wx.requestSubscribeMessage({  
      tmplIds: ['WZiCliW1zVtHXqX7dGnFNmFvxhW-wd9S_W4WfrwNvss'],  
      success:(res)=> {
        wx.request({
          url: 'https://www.xxx.com/send.php',
          data: {
            openid:'要推送的openid',
            template_id:'要使用的template_id',
          },
          header: {
            'content-type': 'application/json'
          },
          success (res) {
            if(res.data.errcode == '43101'){
              console.log("拒绝订阅消息")
            }else if(res.data.errcode == '0'){
              console.log("发送订阅消息")
            }else{
              console.log("未知错误")
            }
          }
        })
      }
    })
  }
)}

后端

access_token.php

 $result['expires']){
        $data = array();
        $data['access_token'] = getNewToken();
        $data['expires'] = time()+7000;
        $jsonStr =  json_encode($data);
        $fp = fopen("access_token.json", "w");
        fwrite($fp, $jsonStr);
        fclose($fp);
        return $data['access_token'];
    }else{
        return $result['access_token'];
    }
}
 
//获取新的access_token
function getNewToken($appid,$appsecret){
    global $appid;
    global $appsecret;
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret."";
    $access_token_Arr =  file_get_contents($url);
    $token_jsonarr = json_decode($access_token_Arr, true);
    return $token_jsonarr["access_token"];
}

$access_token = getToken();
?>

逻辑

1、通过button控件出发send函数
2、send函数调用wx.requestSubscribeMessageAPI,微信允许接收订阅消息
3、 wx.request向send.php后端请求
4、后端获取access_token后,调用订阅消息接口POST一段json数据即可发送订阅消息

官方文档

1、https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html

2、https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.addTemplate.html

Author:TANKING
Date:2020-08-24
Web:http://www.likeyun.cn/
WeChat:face6009

你可能感兴趣的:(php,小程序,订阅消息,推送消息,微信小程序)