• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现小程序批量通知推送

    本文实例为大家分享了PHP实现小程序批量通知推送的具体代码,供大家参考,具体内容如下

    基本效果如下:

    具体实现如下:

    1.配置模板

    2.从小程序获取formId,传到后台存到表里

    下发条件说明

    1).支付

    当用户在小程序内完成过支付行为,可允许开发者向用户在7天内推送有限条数的模板消息(1次支付可下发3条,多次支付下发条数独立,互相不影响)

    2).提交表单

    当用户在小程序内发生过提交表单行为且该表单声明为要发模板消息的,开发者需要向用户提供服务时,可允许开发者向用户在7天内推送有限条数的模板消息(1次提交表单可下发1条,多次提交下发条数独立,相互不影响)

    wxml

    form bindsubmit="getFormId" report-submit="true">
      button formType='submit'>获取formId/button>
    /form>

    js

    getFormId:function(e){
     let formId = e.detail.formId;
     //得到formId,将formId传到后台存储到表里
    }

    我的表是这么建的:

    createTime用来判断是否超过七天
    used用来判断是否使用过这个formId

    3.PHP后台实现推送

    一共使用两个提供的api

    1).获取小程序 access_token

    请求地址

    GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=APPIDsecret=APPSECRET

    2).发送模板消息

    请求地址

    POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=ACCESS_TOKEN

    php完整代码:

    //需要修改的字段
    //1.小程序AppId,小程序secret,去微信公众平台找
    //2.表名,时间字段
    //3.模板ID,去我的模板里找
    //4.跳转地址,你知道的
    $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credentialappid=小程序AppIdsecret=小程序secret';
       $info = file_get_contents($url);
       $json = json_decode($info);/*对json数据解码*/
       $arr = get_object_vars($json);
       $access_token = $arr['access_token'];
       
       function send_post( $url, $post_data ) {
       $options = array(
        'http' => array(
         'method' => 'POST',
         'header' => 'Content-type:application/json',/*header 需要设置为 JSON*/
         'content' => $post_data,
         'timeout' => 60/*超时时间*/
        )
       );
       $context = stream_context_create( $options );
       $result = file_get_contents( $url, false, $context );
       return $result;
     };
     
     $sql = "SELECT * FROM 表名 where date_sub(curdate(), INTERVAL 6 DAY) = date(时间字段) and used=0 group by openid";
     $rs = $pdo->query($sql);
     $row = $rs->fetchAll();
     $resultsArr = array();
     $updateArr = array();
     $successNum = 0;
     $title = $_GET['title'];
     $time = date('y年m月d日 h:i',time());
     for($i=0;$icount($row);$i++){
      $openid = $row[$i]['openid'];
      $formid = $row[$i]['formId'];
      $id = $row[$i]['id'];
      $post_data = array(
       "touser"=> $openid,
       "template_id"=> "模板ID",
       "page"=> "跳转地址",
       "form_id"=> $formid,
       "data"=> array(
        "keyword1"=> array(
           "value"=> $title
         ),
         "keyword2"=> array(
           "value"=> $time
         ),
         "keyword3"=> array(
           "value"=> "戳我进入涂呀首页查看"
         )),
       // "emphasis_keyword"=> "keyword1.DATA"  设置大字,自己试试就知道了
      ); 
      $post_data = json_encode($post_data);
      $postResults = send_post('https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token, $post_data);
      $res = json_decode($postResults);
      $res = get_object_vars($res);
      $errcode = $res['errcode'];
      if($errcode==0){
      $sql1 = "update formIdList set used=1 where id=$id";
      $pdo->exec($sql1);
      $successNum+=1;
      };
      array_push($resultsArr, array('errcode'=>$errcode));
     };
     $Results = array(
         'code'=>1,
         'Results'=>array(
         'successNum'=>$successNum,
         'resultsArr'=>$resultsArr
         ),
         'msg'=>''
       );
       $Results = json_encode($Results);
       echo $Results;
    

    文档:地址

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • php实现微信公众号主动推送消息
    • 微信小程序 消息推送php服务器验证实例详解
    • 解析php做推送服务端实现ios消息推送
    • php ios推送(代码)
    • php实现微信模板消息推送
    • PHP快速推送微信模板消息
    • php实现websocket实时消息推送
    • php redis实现对200w用户的即时推送
    • php实现socket推送技术的示例
    上一篇:Laravel学习笔记之Artisan命令生成自定义模板的方法
    下一篇:php获取用户真实IP和防刷机制的实例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP实现小程序批量通知推送 PHP,实现,小,程序,批量,通知,