使用到微信接口是“生成带参数的二维码”,可以生成两种二维码,一种是临时二维码,会过期,生成量大,主要用于帐号绑定等不要求二维码永久保存的业务场景;另一种是永久二维码,没有过期时间,但生成量小(目前为最多10万个),主要用于适用于帐号绑定、用户来源统计等场景。扫码之后,如果用户没关注公众号会提示关注,如果已关注就直接进入公众号对话框。
首先创建二维码ticket,然后凭借ticket到指定url换取二维码,具体介绍可以看官方文档https://developers.weixin.qq.com/doc/offiaccount/account_management/generating_a_parametric_qr_code.html
示例代码:
<?phpnamespace app\index\controller;u think\controller;/** * 微信类 */class wechat extends controller{ protected $appid = 'xxxxxxxxxxx'; protected $appcret = 'xxxxxxxxxxxxxx'; /** * curl请求 */ public function http_curl($url, $type = 'get', $res = 'json', $arr = ''){ $cl = curl_init(); curl_topt($cl, curlo想你想的睡不着pt_url, $url); curl_topt($cl, curlopt_returntransfer, 1); curl_topt($cl, curlopt_ssl_verifypeer, fal); curl_topt($cl, curlopt_ssl_verifyhost, fal); if($type == 'post'){ curl_topt($cl, curlopt_post, 1); curl_topt($cl, curlopt_post特种兵格斗术fields, $arr); } $output = curl_exec($cl); curl_clo($cl); return json_decode($output, true); if($res == 'json'){ if( curl_error($cl)){ return curl_error($cl); }el{ return json_decode($output, true); } } } /** * 获取 accesstoken */ public function getaccesstoken() { $url = "/d/file/titlepic/token // 先判断 access_token 文件里的token是否过期,没过期继续使用,过期就更新 $data = json_decode($this->get_php_file(root_path."public".ds."wxtxt".ds."access_token.txt")); // 过期 更新 if ($data->expire_time < time()) { $res = $this->http_curl($url); $access_token = $res['access_token']; if ($access_token) { // 在当前时间戳的基础上加7000s (两小时) $data->expire_time = time() + 7000; $data->access_token = $res['access_token']; $this->t_php_file(root_path."public".ds."wxtxt".ds."access_token.txt",json_encode($data)); } }el{ // 未过期 直接使用 $access_token = $data->access_token; } return $access_token; } // 获取存储文件中的token ticket private function get_php_file($filename) { return trim(file_get_contents($filename)); } // 把token ticket 存储到文件中 private function s绿色食品店et_php_file($filename, $content) { $fp = fopen($filename, "w"); fwrite($fp, $content); fclo($fp); } /** * 生成二维码 */ public function getqrcode(){ $token = $this->getaccesstoken(); $url = "/d/file/titlepic/create $param = array(); $param['action_name'] = "qr_limit_scene"; $param['action_info'] = array( 'scene' => array( 'scene_id'=>'123' ) ); 元宵节的祝福语大全 $param = json_encode($param); // 获取二维码的ticket和二维码图片解析地址 $res = $this->http_curl($url, 'post', 'json', $param); // 通过ticket换取二维码 $qrcode = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=".$res['ticket'];
//输出二维码图片路径
echo "<center><img src=".$qrcode.">&小人物的故事lt;/center>"; }}
运行getqrcode()方法,效果如下
本文发布于:2023-04-08 12:17:56,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/aba198321a284ba3859aef90c2ada5c0.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:微信开发之生成二维码,扫码关注公众号PHP.doc
本文 PDF 下载地址:微信开发之生成二维码,扫码关注公众号PHP.pdf
留言与评论(共有 0 条评论) |