uni-app的uni.scanCode扫码黑屏

uni-app的uni.scanCode扫码黑屏

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

产品分类:uniapp/App
PC开发环境操作系统:Windows
HBuilderX类型:正式
HBuilderX版本号:4.29
手机系统:HarmonyOS NEXT
手机系统版本号:HarmonyOS 5.0.0
手机厂商:华为
手机机型:华为mate60 pro
页面类型:vue
vue版本:vue3
打包方式:离线
项目创建方式:HBuilderX

示例代码:

openScanCode () {
uni.scanCode({
onlyFromCamera: true,
scanType: ['qrCode'],
autoZoom: false,
success: (res) => {
// 将编码后的URL转换为Base64格式
if (res.result.includes(config.iamURL)) {
const base64Url = btoa(res.result);
console.log(res.result)
this.authSign(base64Url, uni.getStorageSync('username')).then((result) => {
console.log(result)
this.scanCode(result, res.result, base64Url);
// uni.showToast({
//  title: '扫描成功',
//  icon: 'none'
// });
uni.switchTab({
url: '/pages/index',
})
});
} else {
uni.showToast({
title: '非法二维码',
icon: 'error'
});
}
},
fail: (err) => {
// uni.showToast({
//  title: '扫描失败',
//  icon: 'none'
// });
uni.switchTab({
url: '/pages/index',
})
},
complete: () => {
let obj = {}
obj.username = uni.getStorageSync('username')
obj.deviceId = uni.getSystemInfoSync().deviceId
setScanStatus(obj).then(res => {
console.log('成功')
})
}
});
},

操作步骤:

点击按钮进入扫码页面,黑屏,不知道点击几次会出现扫码框,并且扫码框在左上角出现一点

预期结果:

正常出现扫码框并且在正中间

实际结果:

黑屏,偶尔出现扫码框还不居中

示例图片

bug描述:

手机系统版本为鸿蒙4.2.0,点击扫描出现黑屏,偶尔点击能出现扫码框,但是扫码框位置也会偏移,不是居中显示


更多关于uni-app的uni.scanCode扫码黑屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app的uni.scanCode扫码黑屏的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据你描述的问题,uni.scanCode在HarmonyOS设备上出现黑屏和扫码框偏移的情况,这可能是由于鸿蒙系统兼容性问题导致的。以下是几个可能的解决方案:

  1. 检查相机权限: 确保在manifest.json中正确配置了相机权限:
"app-plus": {
    "distribute": {
        "android": {
            "permissions": [
                "<uses-permission android:name=\"android.permission.CAMERA\"/>"
            ]
        }
    }
}
  1. 尝试调整扫码参数:
uni.scanCode({
    onlyFromCamera: false,  // 改为false试试
    scanType: ['qrCode'],
    autoZoom: true,  // 开启自动缩放
    success: (res) => {
        // 处理结果
    }
});
回到顶部