微信小程序生成二維碼並且掃碼跳轉並且攜帶參數


話不多說,直接上代碼,直接把APPID和APPSECRET改成自己的就能用了

<?php

header('content-type:text/html;charset=utf-8');

//配置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";



//緩存access_token

 session_start();

 $_SESSION['access_token'] = "";

 $_SESSION['expires_in'] = 0;



 $ACCESS_TOKEN = "";

 if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in'])) {



     $json = httpRequest( $access_token );

     $json = json_decode($json,true);

     // var_dump($json);

     $_SESSION['access_token'] = $json['access_token'];

     $_SESSION['expires_in'] = time()+7200;

     $ACCESS_TOKEN = $json["access_token"];

 }else{



     $ACCESS_TOKEN =  $_SESSION["access_token"];

 }



//構建請求二維碼參數

//path是掃描二維碼跳轉的小程序路徑,可以帶參數?id=xxx

//width是二維碼寬度

$qcode ="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=$ACCESS_TOKEN";

$param = json_encode(array("path"=>"pages/index/index?id=123","width"=> 150));



//POST參數

$result = httpRequest( $qcode, $param,"POST");

//生成二維碼
file_put_contents("./qrcode.png", $result);




//把請求發送到微信服務器換取二維碼

  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;

  }

?>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM