微信公眾號在調用掃一掃功能時,一維碼(條形碼)在直接返回結果時會在結果前帶上EAN_8, EAN_13, CODE_25, CODE_39, CODE_128, UPC_A, UPC_E


之前公司公眾號功能只有掃二維碼,有一天突然要加掃一維碼功能。

因為當時感覺沒什么,在scanType里加個barCode就好了呀,

然后就發現事情永遠不會有你想象的那么簡單。大概二十天之后bug才來,

找了好一陣才發現是微信的問題

微信的掃一維碼直接返回結果的話會在結果前加上CODE_128,

比如這個一維碼上的信息是20180528,掃出來的就是CODE_128,20180528

解決起來還是異常簡單的

wx.scanQRCode({
                needResult : 1, // 默認為0,掃描結果由微信處理,1則直接返回掃描結果,
                scanType : [ "qrCode","barCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
                success : function(res) {
                    var result = res.resultStr; 
                    if(result.includes('CODE_128')){
                result = result.split(',')[1];        
                }
            });

被公司空調吹的感冒了,巨難受

——————————————————————————————20180529更新

在微信掃條形碼時 返回不止有結果前加“CODE_128,”情況,在查詢api,詢問客服無果之后,

試驗了一些條形碼 發現微信會在直接返回的結果前加EAN_8, EAN_13, CODE_25, CODE_39, CODE_128, UPC_A, UPC_E,之一,目前如果不能明確一維碼的類型,只能根據逗號進行判斷並取后邊的值 代碼如下

wx.scanQRCode({
                needResult : 1, // 默認為0,掃描結果由微信處理,1則直接返回掃描結果,
                scanType : [ "qrCode","barCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
                success : function(res) {
                    var result = res.resultStr; 
                    if(result.includes(',')){
                result = result.split(',')[1];        
                }
            });

 另外說幾句沒有用的   支付寶就不會出現這種狀況,掃到什么返回什么 開發者要的是就是直接返回結果,他丫的直接返回結果還給我改了結果值 神xx直接返回結果呦.............

有種微信很自大的感覺 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM