微信服务号推送模板信息服务器验证与模板消息推送

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/5/24
 * Time: 14:25
 */
define('APPID',       "开发者id" );
define('APPSECRET',    "开发者密码");

class weixin_class
{
      public static $access_token = null;
      public static $appid = APPID;
      public static $appsecret = APPSECRET;
      //保证Access Token有效
      public static function valid()
      {
		//先获取缓存中的access_token,没有或者过期,重新获取access_token
            $mem = new ICache();
            self::$access_token = $mem->get('access_token');
            if (empty(self::$access_token)){
		//access_token接口路径
                  $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".self::$appid."&secret=".self::$appsecret;
                  //获取access_token
		  $res = self::getWxAccessToken($url);
                  self::$access_token = $res['access_token'];
                  $mem->set('access_token', self::$access_token,3600);
            }
      }

      // 获取access_token,调用微信接口
      public function getWxAccessToken($url){
            //初始化
            $ch = curl_init();
            //设置参数
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            //执行
            $res = curl_exec($ch);
            //关闭句柄
            curl_close($ch);
            //检查错误
            if(curl_errno($ch))
            {
                  echo 'Curl error:'.curl_error($ch);
            }

            $arr = json_decode($res,true);
            return $arr;
      }

      // 发送采集请求的方法
      public function http_curl($url,$type='get',$res='json',$data=''){
            //1.创建连接资源
            $ch = curl_init();
            //2.设置参数
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            //设置超时时间
            curl_setopt($ch,CURLOPT_TIMEOUT,10);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            if($type=='post'){
                  curl_setopt($ch,CURLOPT_POST,1);
                  curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
            }
            //3.采集
            $output = curl_exec($ch);
            //4.关闭
            curl_close($ch);
            if(curl_errno($ch)){
                  return curl_errno($ch);
            }
            return json_decode($output,true);

      }
      //1.param array  发送模板信息内容
      public static function sendMsg($data=NULL)
      {
            //access_token拼接发送接口
            $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".self::$access_token;
            $arr = array(
		//关注公众号的用户openid
                "touser"=>"用户openid",
		//服务号预设的模板id
                "template_id"=>"模板id",
		//点击模板后链接地址
                "url"=>"http://www.baidu.com",
		//依据预设的模板填入相应的对应字段的信息
                "data"=>array(
                    'name'=>array(
                        'value'=>'你好啊',
                        'color'=>'#173177'
                    ),
                    'date'=>array(
                        'value'=>date('Y-m-d H:i:s'),
                        'color'=>'#173177'
                    ),
                    'content'=>array(
                        'value'=>'欢迎光临',
                        'color'=>'#173177'
                    )
                )
            );
            //数组->json
            $jsonData = json_encode($arr);
            //调用curl函数
            $res = self::http_curl($url,'post','json',$jsonData);
            var_dump($res);
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值