微信公众号在调用扫一扫功能时,一维码(条形码)在直接返回结果时会在结果前带上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直接返回结果呦.............

有种微信很自大的感觉 

posted on 2018-05-28 15:48  要一份黄焖鸡  阅读(6405)  评论(1编辑  收藏  举报

导航