WeChat 애플릿은 매개변수를 사용하여 QR 코드를 생성합니다
공식에서는 세 가지 인터페이스 호출을 제공합니다. 실제 상황에 따라 사용할 수 있습니다. 여기서는 인터페이스 B와 C를 사용하고 있습니다.
비즈니스 요구 사항:
QR 코드를 스캔하여 지정된 제품 페이지에 들어가세요. 필수 매개변수는 제품 ID(goods_id)입니다.
먼저 렌더링을 살펴보세요.
두 번째, PHP 코드 구현
public function pathImg(){ $goods_id = '20'; //商品id //配置APPID、APPSECRET $APPID = "填写你的小程序appid"; $APPSECRET = "填写你的小程序APPSECRET"; //获取access_token $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET"; $json = $this->httpRequest($access_token); $json = json_decode($json,true); $ACCESS_TOKEN = $json['access_token']; //如果要获取小程序码,请求这个接口 $qcode ="https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=$ACCESS_TOKEN"; $param = json_encode(array("page"=>"pages/comm_details/comm_details","scene"=>$goods_id)); //如果要获取二维码,请求这个接口 // $qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=$ACCESS_TOKEN"; // $param = json_encode(array("path"=>"pages/comm_details/comm_details?goods_id=19","width"=> 150)); //POST参数 $result = $this->httpRequest($qcode, $param, "POST"); //生成二维码 file_put_contents("qrcode.png", $result); //qrcode.png这个就是你生成的二维码图片,可以存到你指定的路径,例如:/update/img/qrcode.png $base64_image ="data:image/jpeg;base64,".base64_encode($result); echo $base64_image; } //curl请求 public 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; }
참고: WeChat 애플릿 js 파일은 장면의 매개변수 메서드를 받습니다(애플릿 코드는 이 방법으로 이를 받아야 합니다). )
Page({ onLoad: function(options) { // options 中的 scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene var scene = decodeURIComponent(options.scene) console.log(scene) } })
1. 프론트 엔드에서 받은 씬 값 분석:
php 코드에서 씬에 전달한 내용이 여기서 씬에 전달된 20이 인쇄되면 20입니다. 그러면 프런트엔드에서 good_id=20
2를 인쇄합니다. WeChat 개발자 도구에서 QR 코드를 통해 컴파일하는 옵션도 있습니다. 생성된 코드를 테스트하는 데에도 사용할 수 있습니다. 아래 사진:
3. 휴대폰 QR 코드나 미니 프로그램 코드를 스캔하면 기본적으로 온라인 버전에 액세스할 수 있는지, 개발 버전에 액세스하도록 설정할 수 있는지 모르겠습니다.
위 내용은 WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!