今天说下 如何生成小程序码,由于小程序无法分享到朋友圈,我们经常看到下图类似的小程序码,如何生成,今天就给大家分享下。
官方链接:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
查看官方链接获取小程序码有3个接口,大家根据自己的情况选择一个即可。
作者选择的是接口B:wxacode.getUnlimited
生成小程序码的接口地址:POST https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
1、需要用到ACCESS_TOKEN,首先先获得ACCESS_TOKEN,然后再通过小程序码接口获取小程序码
$accesstoke = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你自己小程序的appid&secret=你自己小程序的secret");
$accesstokedata = json_decode($accesstoke,true);
2、获取到ACCESS_TOKEN之后,然后请求小程序码接口获取小程序码
$wxa_url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$accesstokedata['access_token'];
$post_data =array(
'scene'=>$pid,
'page'=>'pages/product/product',
'width'=>'150',
'is_hyaline'=>true
);
$post_data =json_encode($post_data);
$data = $this->httpRequest($wxa_url, $post_data,"POST" );//拿到二维码
file_put_contents($path, $data)//降获取到的小程序码保存为本地图片
public function httpRequest($url, $data='', $method='GET'){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
if($method=='POST')
{
curl_setopt($curl, CURLOPT_POST, 1);
if ($data != '')
{
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
}
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($data)));
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
3、你可以将生成的小程序码图片地址存入到自己的数据库里面,以后判断数据库是否存在小程序码,就不用生成,可以减少小程序码的请求,因为生成的小程序码,永久有效。