1,創建一個二維碼的ticket,關於一些參數可參數官網上的文檔,這里直接上代碼吧
def get_ticket wx_mp_user
appid = wx_mp_user.app_id #公眾號app_id
secret = wx_mp_user.app_secret #公眾號app_secret
url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=# {appid}&secret=#{secret}"
url = URI::encode(url)
result = RestClient.get(url)#發起get請求,獲取公眾號的access_token
info = jsON(result)
access_token = info['access_token']
return '' unless access_token.present?
attrs = "{\"action_name\": \"QR_LIMIT_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": # {SCENE_ID}}}}"#請求二維碼介面所需的參數,注意轉義符
result = RestClient.post("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=# {access_token}", attrs)#發起post請求,得到ticket
info = JSON result
info['ticket']
end
通過上面的上步就得到了ticket,現在我們要通過ticket換取二維碼了
換取二維碼就要看你具體要怎樣了,通過下面的url,將ticket補上去就能看到了,
B. php怎樣調用微信介面生成大尺寸二維碼
PHP QR Code是一個PHP二維碼生成類庫,利用它可以輕松生成二維碼,官網提供了下載和多個演示demo,查看地址:http://phpqrcode.sourceforge.net/。
下載官網提供的類庫後,只需要使用phpqrcode.php就可以生成二維碼了,當然您的PHP環境必須開啟支持GD2。phpqrcode.php提供了一個關鍵的png()方法,其中參數$text表示生成二位的的信息文本;參數$outfile表示是否輸出二維碼圖片文件,默認否;參數$level表示容錯率,也就是有被覆蓋的區域還能識別,分別是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);參數$size表示生成圖片大小,默認是3;參數$margin表示二維碼周圍邊框空白區域間距值;參數$saveandprint表示是否保存二維碼並顯示。
public static function png($text, $outfile=false, $level=QR_ECLEVEL_L, $size=3, $margin=4,
$saveandprint=false)
{
$enc = QRencode::factory($level, $size, $margin);
return $enc->encodePNG($text, $outfile, $saveandprint=false);
}
調用PHP QR Code非常簡單,如下代碼即可生成一張內容為"http://www.helloweba.com"的二維碼.
include 'phpqrcode.php';
QRcode::png('http://www.helloweba.com');
C. html5+js實現二維碼掃描的代碼
通過下面的代碼即可實現:
HBuilder就有調用原生硬體的介面html5++
<!DOCTYPEhtml>
<html>
<head>
<metacharset="utf-8">
<title>CameraExample</title>
<scripttype="text/javascript">
//擴展API載入完回畢後調用onPlusReady回調函數
document.addEventListener("plusready",onPlusReady,false);
varr=null;
//擴展API載入完畢,答現在可以正常調用擴展API
functiononPlusReady(){
//獲取設備默認的攝像頭對象
varcmr=plus.camera.getCamera();