1. 程式人生 > >java微信生成帶引數的二維碼

java微信生成帶引數的二維碼

生成帶引數的二維碼

為了滿足使用者渠道推廣分析和使用者帳號繫結等場景的需要,公眾平臺提供了生成帶引數二維碼的介面。使用該介面可以獲得多個帶不同場景值的二維碼,使用者掃描後,公眾號可以接收到事件推送。

目前有2種類型的二維碼:

1、臨時二維碼,是有過期時間的,最長可以設定為在二維碼生成後的30天(即2592000秒)後過期

2、永久二維碼,是無過期時間的,但數量較少(目前為最多10萬個)。永久二維碼主要用於適用於帳號繫結、使用者來源統計等場景。

本次要實現的是第2種 :永久二維碼

建立二維碼ticket

String codeUrl =

https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=accessToken

            String param = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \""+openId+"\"}}}";  
            JSONObject returnData = HttpClientTools.doPost(codeUrl, param);  
            logger.error("獲取微信生成帶引數的二維碼ticket引數========================" + returnData + "==========================");
            //建立二維碼ticket
            String ticket = returnData.get("ticket").toString();    

ticket 傳到頁面

通過ticket換取二維碼

獲取二維碼ticket後,開發者可用ticket換取二維碼圖片。請注意,本介面無須登入態即可呼叫。

在jsp裡面 呼叫

 window.onload=function show2dBarCode(){  
        $("#imageId").attr("src","https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket="+document.getElementById("ticket").value);  
    }  

<img src="" id="imageId" height="100%" style="float: right">