/*获取带参数的二维码*/
function get_qrcode($scene_id, $type){
//获取票据
$param['access_token'] = get_token();
$url = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?'.http_build_query($param);
if(1 == $type){ //永久
$data = '{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": '.$scene_id.'}}}';
}else if(2 == $type){//临时
$data = '{"expire_seconds": 60, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": '.$scene_id.'}}}';
}else {
return '';
}
$res = post_send_message($url, $data);
$r = json_decode($res, true);
//file_put_contents('./text.txt', $res, FILE_APPEND|LOCK_EX);
if(!$r['ticket']){
return $r['errcode'];
}
//通过票据换去二维码
$url = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='.$r['ticket'];
return $url;
}
/*获取token*/
function get_token(){
$param['appid'] = '**************';
$param ['secret'] = '************************************';
$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&'.http_build_query($param);
$result = file_get_contents($url);
$result = json_decode($result, true);
$access_token = $result["access_token"];
return $access_token;
}
/* post推送消息*/
function post_send_message($url, $data){
$opts = array(
'http' => array(
'method' => 'POST',
'Content-Length' => strlen($data),
'Host' => 'api.weixin.qq.com',
'Content-Type' => 'application/json',
'content' => $data
)
);
$context = stream_context_create($opts);
$result = file_get_contents($url, true, $context);
return $result;
}
发表评论 取消回复