用AppCan生成二维码

一、生成二维码:

放置二维码的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"。如果有中文,则需要相应的解码处理。

你可能感兴趣的:(用AppCan生成二维码)