1. 程式人生 > >微信小程式wx.scanCode掃碼之坑

微信小程式wx.scanCode掃碼之坑

最近做了一個小程式, 使用wx.scanCode這個Api掃描微信小程式生成的二維碼,發現在微信開發者工具和真機使用的引數不一樣,這需要在微信裡開啟除錯,檢視從二維碼獲取引數到的引數,下面分別是微信開發者工具和真機的程式碼:



wx.scanCode({
    onlyFromCamera:true,
    success:(res)=>{
       var path = res.path
        //微信開發者工具 在開發者工具裡出現亂碼需要decodeURIComponent轉義,真機不需要,可以直接使用
       console.log("res.path",res.path); //pages/me/me?scene=table_id%3D8%26shop_id%3D1
       path= path.split('?');   //分割字串 path[0]等於pages/me/me,path[1]等於scene=table_id%3D8%26shop_id%3D1

        
       var scene = path[1];                 
       var reg  = new RegExp("scene=","g");   
        var scene = path.replace(reg,"");
        //手機和開放者工具不一樣的地方就在這幾步了
       var scene = decodeURIComponent(scene);   //在手機上省略這一步  開發者工具需要
        
        scene = scene.split("&");
        
        
        var list = {};
        for(var i = 0; i<scene.length; i++){
            var b = scene[i].split("=");
            list[b[0]] = b[1];
        }

        console.log(list);
       
        
       
    }
})