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设备上出现黑屏和扫码框偏移的情况,这可能是由于鸿蒙系统兼容性问题导致的。以下是几个可能的解决方案:
- 检查相机权限: 确保在manifest.json中正确配置了相机权限:
"app-plus": {
"distribute": {
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CAMERA\"/>"
]
}
}
}
- 尝试调整扫码参数:
uni.scanCode({
onlyFromCamera: false, // 改为false试试
scanType: ['qrCode'],
autoZoom: true, // 开启自动缩放
success: (res) => {
// 处理结果
}
});