>  기사  >  위챗 애플릿  >  WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.

WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.

马冠亚
马冠亚원래의
2020-07-09 11:26:56165검색

WeChat 애플릿은 매개변수를 사용하여 QR 코드를 생성합니다

공식에서는 세 가지 인터페이스 호출을 제공합니다. 실제 상황에 따라 사용할 수 있습니다. 여기서는 인터페이스 B와 C를 사용하고 있습니다.

공식 문서 주소

비즈니스 요구 사항:
QR 코드를 스캔하여 지정된 제품 페이지에 들어가세요. 필수 매개변수는 제품 ID(goods_id)입니다.

먼저 렌더링을 살펴보세요.

WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.

두 번째, 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 코드를 통해 컴파일하는 옵션도 있습니다. 생성된 코드를 테스트하는 데에도 사용할 수 있습니다. 아래 사진:

WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.

3. 휴대폰 QR 코드나 미니 프로그램 코드를 스캔하면 기본적으로 온라인 버전에 액세스할 수 있는지, 개발 버전에 액세스하도록 설정할 수 있는지 모르겠습니다.


위 내용은 WeChat 미니 프로그램은 매개변수와 미니 프로그램 코드가 포함된 QR 코드를 생성합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.