您的位置:首页 > 移动开发 > 微信开发

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

2017-06-22 09:40 561 查看
<?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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐