微信公众平台开发 生成带参数的二维码

一、账号管理 ----- 生成带参数的二维码

我在网上找了挺多资料来看,经过自己理解,然后进行了改进。

简单说一下,关于做生成二维码的步骤:

1) 通过appid 和 appsecret 获取到 access_token

2) 然后 再通过 access_token 获取 ticket

分别有临时二维码和永久二维码 :

临时二维码的ticket:

post 数据方式:json

{"expire_seconds": 604800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}

永久二维码的ticket:

post 数据方式:json

{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}}

好了,下面就开始动手了。

二、

目前有2种类型的二维码:

临时二维码请求说明

永久二维码请求说明

三、下面建一个ticket.php文件,放在你服务器上。

<?php @header(Content-type: text/plain;charset=UTF-8); function https_request($url, $data = null,$time_out=60,$out_level="s",$headers=array()) { $curl = curl_init(); curl_setopt($curl, CURLOPT_NOSIGNAL, 1); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } if($out_level=="s") { //超时以秒设置 curl_setopt($curl, CURLOPT_TIMEOUT,$time_out);//设置超时时间 }elseif ($out_level=="ms") { curl_setopt($curl, CURLOPT_TIMEOUT_MS,$time_out); //超时毫秒,curl 7.16.2中被加入。从PHP 5.2.3起可使用 } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if($headers) { curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);//如果有header头 就发送header头信息 } $output = curl_exec($curl); curl_close($curl); return $output; }

然后输出 :

然后复制ticket 那段字符串 ,在一下这个地址就显示二维码了。

最后结果如下:

我做的这个是永久生成参数二维码,你也可以参数做临时的。。。

经验分享 程序员 微信小程序 职场和发展