uni-app 二维码相册识别失败

uni-app 二维码相册识别失败

示例代码:

uni.scanCode({    
    scanType:['qrCode'],  
    success: function (res) {  
        console.log('条码类型:' + res.scanType);  
        console.log('条码内容:' + res.result);  
    },  
    fail: (error) => {  
        console.log(error)  
    }  
})

操作步骤:

  • 扫一扫
  • 相册
  • 选中上述二维码图片
  • 识别失败

预期结果:

实际结果:

  • 提示识别失败,未打印出fail中的错误信息

bug描述:

如附件中三张二维码,直接使用镜头扫描可以识别,使用相册识别失败,并且fail回调中打印不出错误,提示识别失败。三个二维码用微信扫一扫相册识别,手机自带二维码相册识别应用皆可识别成功。

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

Image 1 Image 2 Image 3


更多关于uni-app 二维码相册识别失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 二维码相册识别失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


从描述来看,这是一个典型的相册二维码识别兼容性问题。uni-app的scanCode API在部分场景下对相册中的二维码识别存在限制。

可能原因分析:

  1. 图片格式兼容性:虽然微信等应用能识别,但uni-app底层调用的原生扫码模块可能对相册中特定格式的二维码图片支持不够完善
  2. 图片尺寸问题:相册中的二维码图片分辨率过高或过低可能导致识别失败
  3. 权限问题:相册访问权限可能影响图片的正常读取

解决方案建议:

  1. 添加条形码类型:将scanType参数扩展为['qrCode','barCode'],提高识别兼容性
uni.scanCode({
    scanType: ['qrCode','barCode'],
    success: function (res) {
        console.log('条码类型:' + res.scanType);
        console.log('条码内容:' + res.result);
    }
})
回到顶部