uni-app 微信小程序中 uni.scanCode() 扫码后无响应 无法扫到条形码

发布于 1周前 作者 sinazl 来自 Uni-App

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 可以。

Image Image

信息类别 详细信息
产品分类 uniapp/小程序/微信
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 win10 专业版
HBuilderX类型 正式
HBuilderX版本号 3.99
第三方开发者工具版本号 1.06.2301160
基础库版本号 3.22
项目创建方式 HBuilderX

3 回复

写了个demo .真机调试可以的 <template>
<view class="page-body">
<button @click=“barCode”>barCode</button>
</view>
</template>

<script> export default { data() { return { }; }, onLoad() { }, methods: { barCode() { uni.scanCode({ scanType: ['barCode'], success: function(res) { console.log(res); }, fail: function(err) { console.log(err) } }); } } }; </script> <style> </style>


好像是我手机的问题,昨天不能,今天突然又能调用了,应该是没电重启后好用了,抱歉。

在使用 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.jsonpage.json 中,确保已经正确配置了相关权限和功能。

{
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!