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"。若是有中文,则须要相应的解码处理。