uni-app 微信小程序中 uni.scanCode() 扫码后无响应 无法扫到条形码
uni-app 微信小程序中 uni.scanCode() 扫码后无响应 无法扫到条形码
示例代码:
uni.scanCode({
scanType: ['barCode'],
success: function (res) {
console.log(res);
uni.hideLoading();
that.brcodeCheck(res.scanType,res.result);
},
fail:function(){
uni.hideLoading();
}
});
操作步骤:
uni.scanCode({
scanType: ['barCode'],
success: function (res) {
console.log(res);
uni.hideLoading();
that.brcodeCheck(res.scanType,res.result);
},
fail:function(){
uni.hideLoading();
}
});
预期结果:
能扫到
实际结果:
console.log(res);有值。
bug描述:
手机扫条形码,无返回响应,无法扫到条形码。一直在扫码。 note7 可以。
信息类别 | 详细信息 |
---|---|
产品分类 | uniapp/小程序/微信 |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win10 专业版 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.99 |
第三方开发者工具版本号 | 1.06.2301160 |
基础库版本号 | 3.22 |
项目创建方式 | HBuilderX |
写了个demo .真机调试可以的
<template>
<view class="page-body">
<button @click=“barCode”>barCode</button>
</view>
</template>

好像是我手机的问题,昨天不能,今天突然又能调用了,应该是没电重启后好用了,抱歉。
在使用 uni.scanCode()
进行扫码时,如果遇到无响应或无法扫到条形码的情况,可以按照以下步骤进行排查和解决:
1. 检查权限
确保小程序已经获取了相机权限。可以在微信开发者工具中检查权限设置,或者在真机上确认是否已经授权。
2. 检查代码实现
确保 uni.scanCode()
的调用方式正确。以下是一个简单的示例:
uni.scanCode({
success: function (res) {
console.log('扫码成功:', res.result);
},
fail: function (err) {
console.log('扫码失败:', err);
}
});
3. 检查条形码类型
uni.scanCode()
默认支持多种码类型,包括二维码、条形码等。如果需要指定扫描条形码,可以设置 scanType
参数:
uni.scanCode({
scanType: ['barCode'], // 只扫描条形码
success: function (res) {
console.log('扫码成功:', res.result);
},
fail: function (err) {
console.log('扫码失败:', err);
}
});
4. 检查设备兼容性
某些设备可能存在兼容性问题,建议在多个设备上进行测试,确保问题不是由特定设备引起的。
5. 检查微信版本
确保微信客户端版本是最新的,旧版本可能存在一些已知的 bug 或兼容性问题。
6. 调试信息
在 fail
回调中打印错误信息,帮助定位问题:
uni.scanCode({
success: function (res) {
console.log('扫码成功:', res.result);
},
fail: function (err) {
console.log('扫码失败:', err);
}
});
7. 检查网络环境
在某些网络环境下,扫码功能可能会受到影响。尝试切换网络环境,看看问题是否依然存在。
8. 检查小程序基础库版本
确保小程序基础库版本是最新的,旧版本可能存在一些已知的 bug 或兼容性问题。
9. 检查小程序配置
在小程序的 app.json
或 page.json
中,确保已经正确配置了相关权限和功能。
{
"permission": {
"scope.userLocation": {
"desc": "你的位置信息将用于小程序位置接口的效果展示"
}
}
}