0
点赞
收藏
分享

微信扫一扫

微信小程序生成二维码并且扫码跳转并且携带参数

生态人 2022-04-16 阅读 68

直接上代码,直接把APPID和APPSECRET改成自己的就能用了。

<?php

header('content-type:text/html;charset=utf-8');

//配置APPID、APPSECRET

$APPID = "APPID";

$APPSECRET = "APPSECRET";

//获取access_token

$access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential$APPID$APPSECRET";

//缓存access_token

session_start();

$_SESSION['access_token'] = "";

$_SESSION['expires_in'] = 0;

$ACCESS_TOKEN = "";

if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in'])) {

$json = httpRequest( $access_token );

$json = json_decode($json,true);

// var_dump($json);

$_SESSION['access_token'] = $json['access_token'];

$_SESSION['expires_in'] = time()+7200;

$ACCESS_TOKEN = $json["access_token"];

}else{

$ACCESS_TOKEN = $_SESSION["access_token"];

}

//构建请求二维码参数

//path是扫描二维码跳转的小程序路径,可以带参数?id=xxx

//width是二维码宽度

$qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=$ACCESS_TOKEN";

$param = json_encode(array("path"=>"pages/index/index?id=123","width"=> 150));

//POST参数

$result = httpRequest( $qcode, $param,"POST");

//生成二维码
file_put_contents("./qrcode.png", $result);

//把请求发送到微信服务器换取二维码

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_TIMEOUT, 30);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);

curl_close($curl);

return $result;

}

?>
举报

相关推荐

0 条评论