摘要:微信小程序官方開放了個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用生成二維碼。
微信小程序官方開放了3個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用php生成二維碼。
首先要獲取Access_token這個(gè)請求起來也是很容易的,微信開發(fā)文檔有請求接口:
要把自己的小程序的APPID和APPSECRET獲取到
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
access_token只有2小時(shí)有效期,所以要緩存最好,避免重復(fù)請求
構(gòu)建請求參數(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)建請求二維碼參數(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 ); //把請求發(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、訪問qrcode.php
即可生成一個(gè)帶參數(shù)的小程序二維碼
但是這個(gè)接口生成的是有LOGO的小程序二維碼。
我們想要生成一個(gè)簡簡單單的,無LOGO的小程序二維碼可以嗎?
官方的是沒有辦法的,但是我們可以用第三方的接口生成普通的二維碼的方式。
1、先解碼,把剛才生成的小程序二維碼解碼,獲得URL
2、把獲得的URL用普通的二維碼生成接口生成普通的無LOGO的二維碼
解碼其實(shí)有很多的庫我這里直接用了第三方的JSSDK解碼,免費(fèi)的,需要申請接口和appid和appkey
生成無LOGO二維碼
PHP生成微信小程序二維碼 相關(guān)文章
PHP生成微信小程序二維碼,可生成帶參數(shù)二維碼。
摘要:微信小程序官方開放了個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用生成二維碼。 微信小程序官方開放了3個(gè)創(chuàng)建二維碼的接口,其中有一個(gè)是生成二維碼的,還有一個(gè)是葵花狀的小程序碼,我這里就用php生成二維碼。 首先要獲取Access_token 這個(gè)請求起來也是很容易的,微信開發(fā)文檔有請求接口:要把自己的小程序的APPID和APPSECRET獲取到 h...
通過小程序實(shí)現(xiàn)網(wǎng)站掃碼登錄!每年都可以省 300 塊...代替微信開放平臺和服務(wù)號的登陸模式!
摘要:微信開放平臺要認(rèn)證開發(fā)者,需要塊年,微信服務(wù)號也需要提交企業(yè)資料認(rèn)證,需要塊年。免費(fèi)的方法來了既然微信開放平臺和微信認(rèn)證的服務(wù)號每年都需要塊認(rèn)證費(fèi),個(gè)人學(xué)習(xí)不舍得,沒資料,那么咱們把矛頭指向微信小程序了。 我們知道,要接入微信登陸有兩種方式 1、微信開放平臺2、微信服務(wù)號 這兩種方式均可生成帶參數(shù)的二維碼,然后掃碼獲取用戶基本信息的,所以我們可以在網(wǎng)站上用這兩種方式開發(fā)網(wǎng)站的掃碼登錄,...
微信小程序碼生成及可能存在的坑
摘要:換句話說,同一用戶,對同一個(gè)微信開放平臺下的不同應(yīng)用,是相同的對于,微信程序碼在同一時(shí)間用來掉用小程序碼生成接口使用以及調(diào)用生成一個(gè)應(yīng)用只有一個(gè)秘鑰,只有一個(gè)有效,且有效期是分鐘。 小程序二維碼的生成有三個(gè)不同的接口,針對不同的場景需求下文介紹的是第二種,也是用的最多的一種:適用于需要的碼數(shù)量極多,或僅臨時(shí)使用的業(yè)務(wù)場景接口地址:https://api.weixin.qq.com/wx...
微信小程序集成 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,正文以...
微信小程序生成二維碼工具
摘要:微信小程序生成二維碼工具生成二維碼數(shù)據(jù)的主要代碼來自,因?yàn)樗@個(gè)里面生成二維碼圖片的功能在微信小程序里不能使用,我將這個(gè)功能改寫成可以在微信小程序中使用。 weapp-qrcode 微信小程序生成二維碼工具 生成二維碼數(shù)據(jù)的主要代碼來自davidshimjs/qrcodejs,因?yàn)樗@個(gè)里面生成二維碼圖片的功能在微信小程序里不能使用,我將這個(gè)功能改寫成可以在微信小程序中使用。 截圖 s...
發(fā)表評論
0條評論
閱讀 2936·2023-04-25 17:59
閱讀 761·2023-04-25 15:05
閱讀 728·2021-11-25 09:43
閱讀 3109·2021-10-12 10:13
閱讀 3614·2021-09-27 13:59
閱讀 3638·2021-09-23 11:21
閱讀 3971·2021-09-08 09:35
閱讀 637·2019-08-29 17:12