一、生成二维码:
放置二维码的div:
<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);
}
}
二、取出二维码:
点击后打开相机:
<button class="btn btn-5" onclick="toScanner(event);" ontouchstart="zy_touch('active')">扫一扫</button>
调用的代码:
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方法。
以上代码也可以写成:
function scanner(e) {
e.stopPropagation();
e.preventDefault();
uexScanner.open("ZXing", "扫一扫加好友");
}
然后在window.uexOnload=function(type){}内定义
uexScanner.cbOpen = ScannerSuccessCallBack;
这样也会自动调用
其中回调函数中的“data”就是收到的"text"。如果有中文,则需要相应的解码处理。