微信小程序发送模板消息

 
<?php
 
function Get_M($url){
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    $tmpInfo =   curl_exec($curl)  ;     //返回api的json对象
    curl_close($curl);
    if(strpos($tmpInfo,"access_token")>0){
        $de_json = json_decode('['.$tmpInfo.']',TRUE);
        return $de_json[0]['access_token'] ;
    }
    return "";
}
function Post_M($p_url,$p_data){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $p_url);
    // 执行后不直接打印出来
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    // 设置请求方式为post
    curl_setopt($ch, CURLOPT_POST, true);
    // post的变量
    curl_setopt($ch, CURLOPT_POSTFIELDS, $p_data);
    // 跳过证书检查
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // 不从证书中检查SSL加密算法是否存在
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    $output = curl_exec($ch);
    curl_close($ch);
    //echo $output;
    return $output;
}
function postTemplate($formid,$p_name,$p_nr,$p_sj){
    $access_token=Get_M("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=微信小程序的id&secret=secret的内容");
    $postTemplateUrl="https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=".$access_token;
$postdata='{
  "touser": "替换为你要发送的openid",
  "template_id": "模板的id",
  "form_id": "'.$formid.'",
  "data": {
      "keyword1": {
          "value": "'.$p_name.'"
      },
      "keyword2": {
          "value": "'.$p_nr.'"
      },
      "keyword3": {
          "value": "'.$p_sj.'"
      }  
  }
}';
 Post_M($postTemplateUrl,$postdata);
 return '1';
 }
?>



上面是我定义的一个函数,替换如下内容:

微信小程序的id

secret的内容

替换为你要发送的openid

模板的id

调用postTemplate就可以了。


微信小程序发送模板消息


本站如无特别说明即为原创,转而告知:(https://www.iwonmo.com/archives/1318.html)

标签: 微信小程序, 模板消息, 微信小程序模板消息

已有 2 条评论

  1. 慕若曦 慕若曦 回复 2018-06-24 20:48

    没看懂,小程序发送消息不是应该由小程序去发送么,为什么是php的代码而不是js……

    1. 王And木 王And木 回复 2018-06-24 20:59

      也可以,实际只是像其中的url发送数据。但是其中有一个openid是私有的,不能放到客户端上,而且其中access_token是必须要用中转服务器的。这也是官方推荐的方法。

添加新评论