m***@qq.com
m***@qq.com
  • 发布:2023-01-28 11:02
  • 更新:2024-01-29 14:16
  • 阅读:374

【报Bug】uni.scanCode['qrCode']直接扫码可以识别,从相册中选择就提示识别失败

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11专业版10.0.22000

HBuilderX类型: 正式

HBuilderX版本号: 3.6.18

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 小米10pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <button @click="onScan">扫描</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        methods: {  
            onScan(){  
                console.log('开始扫描');  
                var that = this;  
                uni.scanCode({  
                    scanType: ['qrCode'],  
                    success(res)   
                    {  
                        console.log('识别成功:', res);  
                    },  
                    fail(err)  
                    {  
                        console.log('识别失败:', res);  
                    }  
                });  
            }  
        }  
    }  
</script>  

操作步骤:
<template>  
    <view>  
        <button @click="onScan">扫描</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        methods: {  
            onScan(){  
                console.log('开始扫描');  
                var that = this;  
                uni.scanCode({  
                    scanType: ['qrCode'],  
                    success(res)   
                    {  
                        console.log('识别成功:', res);  
                    },  
                    fail(err)  
                    {  
                        console.log('识别失败:', res);  
                    }  
                });  
            }  
        }  
    }  
</script>  

预期结果:

都能识别成功

实际结果:

直接扫码识别成功,从相册选择直接提示识别失败,并且没有走fail回调

10:57:34.611 开始扫描 at pages/index/index.vue:16  
10:57:38.008 App Hide at App.vue:10  
10:57:40.363 App Show at App.vue:7  
// 这里选择相册,直接有个吐司提示识别失败,没有打印信息  
10:57:53.397 App Hide at App.vue:10  
10:57:58.884 App Show at App.vue:7  
10:58:05.168 识别成功:,  [Object] {"scanType":"QR_CODE","path":"","charSet":"ISO8859_1","result":"4dc2f463498bd6d18c4f96f084a...} at pages/index/index.vue:22

bug描述:

【报Bug】uni.scanCode['qrCode']直接扫码可以识别,从相册中选择就提示识别失败

2023-01-28 11:02 负责人:DCloud_Android_YJC 分享
已邀请:
DCloud_Android_DQQ

DCloud_Android_DQQ

使用你提供的代码我这边测试正常。
是否与具体的图片有关。

你可以换一张二维码图片测试一下。如果确认与图片有关,可以把图片发出来

  • m***@qq.com (作者)

    用别的二维码有的可以识别正常

    2023-01-29 13:57

m***@qq.com

m***@qq.com (作者) - 90后IT男

好像确实与图片有点关系,以前版本是好的,不知道后面哪个版本出的问题不能识别了

DCloud_Android_DQQ

DCloud_Android_DQQ

试着重新生成一下。

1 尽可能手动H级别的质量
2 二维码的生成机制,有掩码处理的环节,每次生成出来的图形大概率是不同的。 所以如果某个二维码识别困难,可以重新生成试试。
3 二维码识别逻辑最近没有修改。 我们后续会持续优化识别算法

2***@qq.com

2***@qq.com -

碰到一样的问题了

要回复问题请先登录注册