摘要:微信小程序官方開放了個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用生成二維碼。
微信小程序官方開放了3個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用php生成二維碼。
首先要獲取Access_token這個請求起來也是很容易的,微信開發文檔有請求接口:
要把自己的小程序的APPID和APPSECRET獲取到
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
access_token只有2小時有效期,所以要緩存最好,避免重復請求
構建請求參數可以構建一個數組,然后轉成json數據賦給一個變量
$param = json_encode(array("path"=>"pages/index/index?id=123","width"=> 150));
然后POST數據發送到微信服務器換取二維碼
完整代碼$_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); $base64_image ="data:image/jpeg;base64,".base64_encode( $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; } ?>使用方法:
1、新建qrcode.php
2、拷貝上面代碼進去
3、修改APPID和APPSECRET
4、訪問qrcode.php
即可生成一個帶參數的小程序二維碼
但是這個接口生成的是有LOGO的小程序二維碼。
我們想要生成一個簡簡單單的,無LOGO的小程序二維碼可以嗎?
官方的是沒有辦法的,但是我們可以用第三方的接口生成普通的二維碼的方式。
1、先解碼,把剛才生成的小程序二維碼解碼,獲得URL
2、把獲得的URL用普通的二維碼生成接口生成普通的無LOGO的二維碼
解碼其實有很多的庫我這里直接用了第三方的JSSDK解碼,免費的,需要申請接口和appid和appkey
生成無LOGO二維碼
PHP生成微信小程序二維碼 相關文章
PHP生成微信小程序二維碼,可生成帶參數二維碼。
摘要:微信小程序官方開放了個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用生成二維碼。 微信小程序官方開放了3個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用php生成二維碼。 首先要獲取Access_token 這個請求起來也是很容易的,微信開發文檔有請求接口:要把自己的小程序的APPID和APPSECRET獲取到 h...
通過小程序實現網站掃碼登錄!每年都可以省 300 塊...代替微信開放平臺和服務號的登陸模式!
摘要:微信開放平臺要認證開發者,需要塊年,微信服務號也需要提交企業資料認證,需要塊年。免費的方法來了既然微信開放平臺和微信認證的服務號每年都需要塊認證費,個人學習不舍得,沒資料,那么咱們把矛頭指向微信小程序了。 我們知道,要接入微信登陸有兩種方式 1、微信開放平臺2、微信服務號 這兩種方式均可生成帶參數的二維碼,然后掃碼獲取用戶基本信息的,所以我們可以在網站上用這兩種方式開發網站的掃碼登錄,...
微信小程序碼生成及可能存在的坑
摘要:換句話說,同一用戶,對同一個微信開放平臺下的不同應用,是相同的對于,微信程序碼在同一時間用來掉用小程序碼生成接口使用以及調用生成一個應用只有一個秘鑰,只有一個有效,且有效期是分鐘。 小程序二維碼的生成有三個不同的接口,針對不同的場景需求下文介紹的是第二種,也是用的最多的一種:適用于需要的碼數量極多,或僅臨時使用的業務場景接口地址:https://api.weixin.qq.com/wx...
微信小程序集成 Jenkins
摘要:總結本文以微信小程序常規的發布流程為切入點,循序漸進地介紹了如何集成實現微信小程序預覽上傳功能。 showImg(https://raw.githubusercontent.com/yingye/Blog/master/images/wechat-jenkins.png); 本文首發于 https://github.com/yingye/Blo... ,歡迎各位關注我的Blog,正文以...
微信小程序生成二維碼工具
摘要:微信小程序生成二維碼工具生成二維碼數據的主要代碼來自,因為它這個里面生成二維碼圖片的功能在微信小程序里不能使用,我將這個功能改寫成可以在微信小程序中使用。 weapp-qrcode 微信小程序生成二維碼工具 生成二維碼數據的主要代碼來自davidshimjs/qrcodejs,因為它這個里面生成二維碼圖片的功能在微信小程序里不能使用,我將這個功能改寫成可以在微信小程序中使用。 截圖 s...
發表評論
0條評論
閱讀 2835·2023-04-25 17:59
閱讀 676·2023-04-25 15:05
閱讀 669·2021-11-25 09:43
閱讀 3026·2021-10-12 10:13
閱讀 3532·2021-09-27 13:59
閱讀 3577·2021-09-23 11:21
閱讀 3872·2021-09-08 09:35
閱讀 561·2019-08-29 17:12