生成带参数的微信小程序二维码用的还是比较多的,虽然微信小程序开发文档接口写的很清楚,如下图,但实际开发中总有人不知道如何操作或者经常出错,下面方维网络根据微信小程序定制开发经验,分享使用ThinkPHP生成微信小程序带参数二维码的整个过程。
第一步、需要获取ACCESS_TOKEN,需要小程序的APPID和APPSECRET,这两个只要到微信小程序管理后台即可获得。
第二步、使用微信小程序开发接口生成二维码并保存到服务器。代码如下,其中sendCmd是远程请求的函数,file_put_contents是PHP自带函数,用于保存图片,【APPID】和【APPSECRET】请换成你自己的实际参数值。
$url_access_token = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=【APPID】&secret=【APPSECRET】;
$json_access_token = sendCmd($url_access_token,array());
$arr_access_token = json_decode($json_access_token,true);
$access_token = $arr_access_token['access_token'];
if(!empty($access_token)) {
$url = 'https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token='.$access_token;
$data = '{"path": "pages/index/index?shop_id='.$shop_id.'&no_id='.$no_id.'", "width": 430}';
$result = sendCmd($url,$data);
file_put_contents('Public/code/code-'.$shop_id.'-'.$no_id.'.jpg',$result);
return 'success';
} else {
return 'ACCESS TOKEN为空!';
}
/**
* 发起请求
* @param string $url 请求地址
* @param string $data 请求数据包
* @return string 请求返回数据
*/
function sendCmd($url,$data)
{
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Expect:')); //解决数据包大不能提交
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);
}
curl_close($curl); // 关键CURL会话
return $tmpInfo; // 返回数据
}
上面代码不多,是不是很简单,欢迎转载,转载请注明来源方维网站建设http://www.szfangwei.cn