先获取access_token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的密钥
使用raw方式,测试用postman
body填json:
(scene)是参数
{
“path”: “pages/index/index”,
“scene”: “”
}
POST请求:
- url (access_token)替换自己的
#####这只是其中的一种请求获取的方式,更多的方式查看
小程序获取二维码
#上面的是通过postman来获取小程序码,下面的是通过代码获取
public function getWxappQrCode($id)
{
$appid='xxxx';
$secert='xxxxxxx';
//处理获取二维码
$tokenurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secert";
$tokeninfo = $this->curlget($tokenurl);
$access_token = $tokeninfo['access_token'];
$url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=";
$url = $url.$access_token;
$postparam = array(
'scene'=>$id
);
$qrdata = $this->getcomponent2($url,json_encode($postparam));
$qCodePath = $qrdata;
$qCodeImg = imagecreatefromstring($qCodePath);
// list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodePath);
// list($qCodeWidth, $qCodeHight, $qCodeType) = getimagesize($qCodeImg);
// imagecopymerge使用注解
$filename = time().rand(100,900).".jpg";
$path =PATH_UPLOAD."qrcode";
if (file_exists($path))
{
imagejpeg($qCodeImg,$path."/".$filename);
$p = URL."/www/data/upload/diyqr/";
$fn = $filename;
$data['img'] = $p.$fn;
ob_end_clean();
header("content-disposition:attachment;filename=wxqrcode.png");
header("content-length:" . filesize($path.'/'.$filename));
readfile($path.'/'.$filename);
}
//保存文件
imagedestroy($qCodeImg);
}
//保存文件
imagedestroy($qCodeImg);
}
/**
* get请求
* @param $url
* @return mixed
*/
public function curlget($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
$response = curl_exec($ch);
curl_close( $ch );
$rest = json_decode($response,true);
return $rest;
}
public function getcomponent2($url,$postdata){
$ch = curl_init(); //用curl发送数据给api
// curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $postdata );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );
curl_setopt($ch, CURLOPT_HTTPHEADER,0);
$response = curl_exec($ch);
curl_close( $ch );
$rest = json_decode($response,true);
return $response;
}