成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP生成微信小程序二維碼,可生成帶參數(shù)二維碼。

jsliang / 2812人閱讀

摘要:微信小程序官方開(kāi)放了個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用生成二維碼。

微信小程序官方開(kāi)放了3個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用php生成二維碼。

首先要獲取Access_token

這個(gè)請(qǐng)求起來(lái)也是很容易的,微信開(kāi)發(fā)文檔有請(qǐng)求接口:
要把自己的小程序的APPID和APPSECRET獲取到

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

access_token只有2小時(shí)有效期,所以要緩存最好,避免重復(fù)請(qǐng)求

構(gòu)建請(qǐng)求參數(shù)

可以構(gòu)建一個(gè)數(shù)組,然后轉(zhuǎn)成json數(shù)據(jù)賦給一個(gè)變量

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

然后POST數(shù)據(jù)發(fā)送到微信服務(wù)器換取二維碼

完整代碼
 $_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"]; 
 }

//構(gòu)建請(qǐng)求二維碼參數(shù)
//path是掃描二維碼跳轉(zhuǎn)的小程序路徑,可以帶參數(shù)?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參數(shù)
$result = httpRequest( $qcode, $param,"POST");
//生成二維碼
file_put_contents("qrcode.png", $result);
$base64_image ="data:image/jpeg;base64,".base64_encode( $result );

//把請(qǐng)求發(fā)送到微信服務(wù)器換取二維碼
  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;
  } 

?>
使用方法:

1、新建qrcode.php
2、拷貝上面代碼進(jìn)去
3、修改APPID和APPSECRET
4、訪問(wèn)qrcode.php

即可生成一個(gè)帶參數(shù)的小程序二維碼

但是這個(gè)接口生成的是有LOGO的小程序二維碼。
我們想要生成一個(gè)簡(jiǎn)簡(jiǎn)單單的,無(wú)LOGO的小程序二維碼可以嗎?
官方的是沒(méi)有辦法的,但是我們可以用第三方的接口生成普通的二維碼的方式。

生成無(wú)LOGO二維碼步驟

1、先解碼,把剛才生成的小程序二維碼解碼,獲得URL
2、把獲得的URL用普通的二維碼生成接口生成普通的無(wú)LOGO的二維碼

1、解碼

解碼其實(shí)有很多的庫(kù)我這里直接用了第三方的JSSDK解碼,免費(fèi)的,需要申請(qǐng)接口和appid和appkey

生成無(wú)LOGO二維碼

PHP生成微信小程序二維碼

上面是通過(guò)js來(lái)實(shí)現(xiàn)的解碼,解碼還是調(diào)用了php生成的二維碼的一個(gè)圖片地址的

上面是調(diào)用本地圖片,所以需要結(jié)合php生成小程序二維碼的代碼使用這個(gè)解碼程序。

解碼后需要生成無(wú)LOGO的二維碼,這個(gè)我只需要調(diào)用一個(gè)接口就行。
接口:http://qr.liantu.com/api.php?...

然后拼接解碼后的url就可以生成一個(gè)二維碼了。

那么生成小程序碼和生成無(wú)LOGO二維碼的代碼結(jié)合起來(lái)就是:

 $_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"]; 
 }

//構(gòu)建請(qǐng)求二維碼參數(shù)
//path是掃描二維碼跳轉(zhuǎn)的小程序路徑,可以帶參數(shù)?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參數(shù)
$result = httpRequest( $qcode, $param,"POST");
//生成二維碼
file_put_contents("qrcode.png", $result);
$base64_image ="data:image/jpeg;base64,".base64_encode( $result );

//把請(qǐng)求發(fā)送到微信服務(wù)器換取二維碼
  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;
  } 

?>

生成小程序官方二維碼


生成無(wú)LOGO二維碼

PHP生成微信小程序二維碼

但是解碼需要用到的兩個(gè)js庫(kù)
這里直接提供下載地址:https://pan.baidu.com/s/1UYDj...

作者:TANKING
2018-7-13
學(xué)習(xí)交流微信:face6009

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96122.html

相關(guān)文章

  • PHP生成信小程序維碼,可生成參數(shù)維碼。

    摘要:微信小程序官方開(kāi)放了個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用生成二維碼。 微信小程序官方開(kāi)放了3個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用php生成二維碼。 首先要獲取Access_token 這個(gè)請(qǐng)求起來(lái)也是很容易的,微信開(kāi)發(fā)文檔有請(qǐng)求接口:要把自己的小程序的APPID和APPSECRET獲取到 h...

    afishhhhh 評(píng)論0 收藏0
  • 通過(guò)小程序實(shí)現(xiàn)網(wǎng)站掃碼登錄!每年都可以省 300 塊...代替微信開(kāi)放平臺(tái)和服務(wù)號(hào)的登陸模式!

    摘要:微信開(kāi)放平臺(tái)要認(rèn)證開(kāi)發(fā)者,需要塊年,微信服務(wù)號(hào)也需要提交企業(yè)資料認(rèn)證,需要塊年。免費(fèi)的方法來(lái)了既然微信開(kāi)放平臺(tái)和微信認(rèn)證的服務(wù)號(hào)每年都需要塊認(rèn)證費(fèi),個(gè)人學(xué)習(xí)不舍得,沒(méi)資料,那么咱們把矛頭指向微信小程序了。 我們知道,要接入微信登陸有兩種方式 1、微信開(kāi)放平臺(tái)2、微信服務(wù)號(hào) 這兩種方式均可生成帶參數(shù)的二維碼,然后掃碼獲取用戶基本信息的,所以我們可以在網(wǎng)站上用這兩種方式開(kāi)發(fā)網(wǎng)站的掃碼登錄,...

    rickchen 評(píng)論0 收藏0
  • 信小程序生成及可能存在的坑

    摘要:換句話說(shuō),同一用戶,對(duì)同一個(gè)微信開(kāi)放平臺(tái)下的不同應(yīng)用,是相同的對(duì)于,微信程序碼在同一時(shí)間用來(lái)掉用小程序碼生成接口使用以及調(diào)用生成一個(gè)應(yīng)用只有一個(gè)秘鑰,只有一個(gè)有效,且有效期是分鐘。 小程序二維碼的生成有三個(gè)不同的接口,針對(duì)不同的場(chǎng)景需求下文介紹的是第二種,也是用的最多的一種:適用于需要的碼數(shù)量極多,或僅臨時(shí)使用的業(yè)務(wù)場(chǎng)景接口地址:https://api.weixin.qq.com/wx...

    546669204 評(píng)論0 收藏0
  • 信小程序集成 Jenkins

    摘要:總結(jié)本文以微信小程序常規(guī)的發(fā)布流程為切入點(diǎn),循序漸進(jìn)地介紹了如何集成實(shí)現(xiàn)微信小程序預(yù)覽上傳功能。 showImg(https://raw.githubusercontent.com/yingye/Blog/master/images/wechat-jenkins.png); 本文首發(fā)于 https://github.com/yingye/Blo... ,歡迎各位關(guān)注我的Blog,正文以...

    young.li 評(píng)論0 收藏0
  • 信小程序生成維碼工具

    摘要:微信小程序生成二維碼工具生成二維碼數(shù)據(jù)的主要代碼來(lái)自,因?yàn)樗@個(gè)里面生成二維碼圖片的功能在微信小程序里不能使用,我將這個(gè)功能改寫(xiě)成可以在微信小程序中使用。 weapp-qrcode 微信小程序生成二維碼工具 生成二維碼數(shù)據(jù)的主要代碼來(lái)自davidshimjs/qrcodejs,因?yàn)樗@個(gè)里面生成二維碼圖片的功能在微信小程序里不能使用,我將這個(gè)功能改寫(xiě)成可以在微信小程序中使用。 截圖 s...

    Rocture 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<