用AppCan生成二維碼

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"。若是有中文,則須要相應的解碼處理。

相關文章
相關標籤/搜索