`uni.scanCode` 是 uni-app 提供的一个 API,用于调起扫码界面扫描二维码或条形码,并获取扫描结果。

3,188 阅读1分钟

uni.scanCode 是 uni-app 提供的一个 API,用于调起扫码界面扫描二维码或条形码,并获取扫描结果。

使用说明

此接口可以在应用内直接调起扫码功能,无需用户手动切换到相机或其他扫码应用。它支持扫描多种格式的二维码和条形码,并将扫描结果返回。

API 结构

uni.scanCode({
    onlyFromCamera: false, // 是否只从相机扫码,不从相册选择图片
    scanType: ['qrCode', 'barCode'], // 扫描的类型
    success: function (res) {
        console.log('扫描结果:', res.result);
        console.log('扫描条码类型:', res.scanType);
        console.log('字符集:', res.charSet);
        console.log('路径:', res.path); // 当所扫的码为小程序码时会返回此项
    },
    fail: function (err) {
        console.error('扫码失败:', err);
    },
    complete: function () {
        console.log('扫码操作完成');
    }
});

参数说明

  • onlyFromCamera(Boolean):是否只允许从相机扫码,不允许从相册选择图片,默认为 false
  • scanType(Array):扫描的类型,可以指定扫描的码的类型,比如 qrCode(二维码)、barCode(条形码)。
  • success(Function):接口调用成功的回调函数,返回扫描结果。
  • fail(Function):接口调用失败的回调函数。
  • complete(Function):接口调用结束的回调函数(无论成功或失败都会执行)。

示例代码

以下是一个使用 uni.scanCode 的示例:

uni.scanCode({
    onlyFromCamera: true,
    success: function (res) {
        console.log('扫描结果:', res.result);
        // 其他处理逻辑
    },
    fail: function (err) {
        console.error('扫码失败:', err);
    },
    complete: function () {
        console.log('扫码操作完成');
    }
});

在这个示例中,当用户完成扫码操作后,结果会在 success 回调函数中返回。

更多详情和参数配置可以参考 uni-app 官方文档。在使用时,请注意用户的隐私和安全,确保扫码功能的合理、合法使用。