백엔드 인터페이스를 통해 미니 프로그램의 모든 페이지에 대한 QR 코드를 얻을 수 있습니다. QR 코드를 스캔하면 미니 프로그램의 해당 페이지로 직접 들어갈 수 있습니다. 더 잘 인식되는 작은 프로그램 코드를 생성하고 사용하는 것이 공식적으로 권장됩니다. 현재 작은 프로그램 코드를 생성할 수 있는 인터페이스는 3가지가 있으며, 개발자는 자신의 필요에 따라 적절한 인터페이스를 선택할 수 있습니다.
인터페이스 A: 소량의 코드가 필요한 비즈니스 시나리오에 적합합니다. 인터페이스 주소:
https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN
매개변수는 다음과 같습니다.
참고: 이 인터페이스를 통해 생성된 작은 프로그램 코드는 영구적으로 유효합니다. 글 마지막에 설명되어 있으니 주의해서 사용하세요. 사용자가 코드를 스캔하여 미니프로그램에 진입한 후 해당 경로에 해당하는 페이지로 바로 진입하게 됩니다.
인터페이스 B: 매우 많은 양의 코드가 필요하거나 일시적으로만 사용되는 비즈니스 시나리오에 적합합니다.
https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=ACCESS_TOKEN
매개변수는 다음과 같습니다.
참고: 이 인터페이스를 통해 생성된 작은 프로그램 코드는 영구적으로 유효하며 수량에는 제한이 없습니다. 사용자가 코드를 스캔하고 미니 프로그램에 진입한 후, 개발자는 해당 페이지의 코드에서 장면 필드의 값을 얻은 다음 처리 로직을 수행해야 합니다. QR 코드에서 장면 필드의 값을 가져오려면 다음 코드를 사용하세요. 디버깅 단계에서는 시뮬레이션을 위해 개발 도구의 사용자 정의 매개변수 scene=xxxx의 조건부 컴파일을 사용할 수 있습니다. 개발 도구에서 시뮬레이션하는 동안 장면의 매개변수 값은 urlencode
// 这是首页的 js Page({ onLoad: function(options) { // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene var scene = decodeURIComponent(options.scene) } })
인터페이스 C여야 합니다. 소량의 코드가 필요한 비즈니스 시나리오에 적합합니다.
https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=ACCESS_TOKEN
매개변수는 다음과 같습니다.
참고: 이 인터페이스를 통해 생성된 미니 프로그램 QR 코드는 영구적으로 유효합니다. 기사를 주의해서 사용하시기 바랍니다. 사용자가 코드를 스캔하여 미니프로그램에 진입한 후 해당 경로에 해당하는 페이지로 바로 진입하게 됩니다.
이러한 인터페이스의 POST 매개변수는 json 문자열로 변환되어야 하며 양식 제출은 지원되지 않습니다. 인터페이스 A와 인터페이스 C에서 생성된 총 코드 수는 100,000개로 제한되어 있으므로 주의해서 호출하세요. 여기에서는 QR 코드 이미지를 생성하고 로컬 서버에 저장하는 방법을 설명하기 위해 인터페이스 B를 예로 들겠습니다.
1. access_token 얻기
access_token은 개발자가 access_token을 사용해야 하는 경우 전역적으로 고유한 인터페이스입니다. 각 인터페이스를 호출하고 올바르게 저장해야 합니다. 가장 기본적인 WeChat 개발과 공개 계정 개발을 진행했습니다. 여기서 access_token을 얻는 방법은 공개 계정에 대한 access_token을 얻는 방법과 완전히 동일합니다. WeChat 기본 인터페이스 인증서 Access_token 받기
2 . QR 코드 생성
/** * 生成小程序二维码 * @param string $qr_path 存储路径,相对于程序根目录(例如:/Public/Qrcode/) * @param string $filename 存储的图片名称(例如:aaa.png) * @param string $scene 二维码场景值 * @param string $page 二维码跳转页面 * @param string $expires_in 二维码有效时间 * @return [type] [description] */ function create_qrcode($qr_path,$filename,$scene,$page='',$expires_in=7200){ if(empty($qr_path)) return array('status'=>0,'info'=>'缺少存储路径'); if(empty($filename)) return array('status'=>0,'info'=>'请确定存储的图片名称'); if(empty($scene)) return array('status'=>0,'info'=>'缺少二维码场景值'); if(!is_dir('.'.$qr_path)){ // ./Public/Qrcode/ mkdir(iconv("GBK","UTF-8",'.'.$qr_path),0777,true); } $file = $qr_path.$filename; // /Public/Qrcode/aaa.png $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $fileUrl = $protocol.$_SERVER['HTTP_HOST'].$file; // http://yourhost/Public/Qrcode/aaa.png $savePath = '.'.$file; // ./Public/Qrcode/aaa.png if(file_exists($savePath)){ //当前时间-文件创建时间<过期时间 if( (time()-filemtime($savePath)) < $expires_in ) return array('status'=>1,'info'=>$fileUrl); } $accessToken = 'xxxxxxxxxxxxxxxxxxxxxx'; // 获取到的 access_token $url = 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='.$accessToken; $qrcode = array( 'scene' => $scene, 'width' => 200, 'page' => $page, 'auto_color' => true ); $result = request($url,true,'POST',json_encode($qrcode)); $errcode = json_decode($result,true)['errcode']; $errmsg = json_decode($result,true)['errmsg']; if($errcode) return array('status'=>0,'info'=>$errmsg); $res = file_put_contents($savePath,$result); // 将获取到的二维码图片流保存成图片文件 if($res===false) return array('status'=>0,'info'=>'生成二维码失败'); return array('status'=>1,'info'=>$fileUrl); //返回本地图片地址 }
관련 추천 :
JS 방법으로 링크에서 QR 코드를 생성하고 이를 사진으로 변환
위 내용은 PHP로 WeChat QR 코드를 생성하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!