1、生成二維碼:html
放置二維碼的div:app
<div class="user-info"> <div class="user-name" id="user_name"> </div> <div class="user-no" id="user_code"> </div> </div>
生成二維碼的代碼:函數
window.uexOnload = function(type) { var code = {}; var qrcode_type = params.qrcode_type; if (!type) { var user_name="",_id=""; if(qrcode_type==1){ user_name = params.user_name; _id = params.im_friend_id; code = {id:_id,type:qrcode_type}; }else{ user_name = params.group_name; _id = params.group_id; var group_name = encodeURIComponent(user_name); code = {id:_id,type:qrcode_type,group_name:group_name}; } var text = JSON.stringify(code); var options = { ecLevel: 'H',//偏差校訂水平 background:'#ffffff', minVersion: 6, text: text, mode: 4, mSize: 25 * 0.01 }; $('#code').qrcode(options); $('#user_name').html(user_name); $('#user_code').html(params.user_code); } }
2、取出二維碼:spa
點擊後打開相機:code
<button class="btn btn-5" onclick="toScanner(event);" ontouchstart="zy_touch('active')">掃一掃</button>
調用的代碼:
htm
function toScanner(e){ e.stopPropagation(); e.preventDefault(); uexScanner.cbOpen =function (opCode,dataType,data){ var obj = JSON.parse(data); var code = JSON.parse(obj.code.replace(/\\"/g, "'")); isAddObject(code); } uexScanner.open("ZXing", "掃一掃加好友"); }
uexScanner.cbOpen
uexScanner.open調用後會開啓掃描功能,當掃描窗口開啓後會回調cbOpen方法。get
以上代碼也能夠寫成:回調函數
function scanner(e) { e.stopPropagation(); e.preventDefault(); uexScanner.open("ZXing", "掃一掃加好友"); }
而後在window.uexOnload=function(type){}內定義 string
uexScanner.cbOpen = ScannerSuccessCallBack;
這樣也會自動調用io
其中回調函數中的「data」就是收到的"text"。若是有中文,則須要相應的解碼處理。