跳到主要内容
版本:v8

@capacitor/barcode-scanner

使用 Outsystems 条码库的 Capacitor 插件

安装

npm install @capacitor/barcode-scanner
npx cap sync

Android

条码扫描插件要求最低 Android SDK 目标版本为 26。这比 Capacitor 应用程序默认的版本要高。你可以在 android/variables.gradle 文件中更新此值。

ext {
minSdkVersion = 26
}

注意:Android 使用 ZXING 扫描库时支持所有格式,而 MLKIT 支持除 MAXICODERSS_14RSS_EXPANDEDUPC_EAN_EXTENSION 之外的所有格式——如果在 hint 中使用这些格式之一,将默认扫描任何格式。

iOS

条码扫描器使用设备上的摄像头。请确保你在 Info.plist 文件中配置了“隐私 - 相机使用说明”,以便你的应用程序可以访问设备的摄像头。

注意:iOS 支持除 MAXICODEUPC_EAN_EXTENSION 之外的所有格式——如果在 hint 中使用它们,将默认扫描任何格式。此外,Apple Vision 无法区分 UPC_AEAN_13,因此在 hint 中指定其中一种将允许扫描两者。


API

定义能够扫描条码的插件契约的接口。 要求实现 scanBarcode 方法,该方法使用给定选项启动条码扫描。

从 Android targetSdk 36 开始,对于 Android 16 及更高版本的大屏幕设备(例如平板电脑),scanOrientation 参数将不再生效。 你可以通过在 AndroidManifest.xml 中的 <application><activity> 内添加 <property android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY" android:value="true" /> 来选择退出此行为。 但请注意,此退出选项是临时的,并且在 Android 17 中将不再有效。Android 不鼓励为大屏幕设备设置特定方向。 常规的 Android 手机不受此更改影响。 有关更多信息,请查看 Android 文档 https://developer.android.com/about/versions/16/behavior-changes-16#adaptive-layouts

scanBarcode(...)

scanBarcode(options: CapacitorBarcodeScannerOptions) => Promise<CapacitorBarcodeScannerScanResult>
参数类型
options
CapacitorBarcodeScannerOptions

返回值:

Promise<CapacitorBarcodeScannerScanResult>


类型别名

CapacitorBarcodeScannerScanResult

定义从条码扫描返回的结果的结构。

{ ScanResult: string; format: CapacitorBarcodeScannerTypeHint; }

CapacitorBarcodeScannerTypeHint

扩展自 Html5Qrcode 支持的格式,并添加了一个特殊的 'ALL' 选项, 表示支持所有条码类型。 结合 Html5QrcodeSupportedFormats 和 OSBarcodeTypeHintALLOption 的类型定义,用于表示要扫描的条码类型的提示。

Html5QrcodeSupportedFormats | CapacitorBarcodeScannerTypeHintALLOption

CapacitorBarcodeScannerOptions

定义用于配置条码扫描的选项。

{ hint: CapacitorBarcodeScannerTypeHint; scanInstructions?: string; scanButton?: boolean; scanText?: string; cameraDirection?: CapacitorBarcodeScannerCameraDirection; scanOrientation?: CapacitorBarcodeScannerScanOrientation; android?: { scanningLibrary?: CapacitorBarcodeScannerAndroidScanningLibrary; }; web?: { showCameraSelection?: boolean; scannerFPS?: number; }; }

枚举

Html5QrcodeSupportedFormats

成员
QR_CODE0
AZTEC1
CODABAR2
CODE_393
CODE_934
CODE_1285
DATA_MATRIX6
MAXICODE7
ITF8
EAN_139
EAN_810
PDF_41711
RSS_1412
RSS_EXPANDED13
UPC_A14
UPC_E15
UPC_EAN_EXTENSION16

CapacitorBarcodeScannerTypeHintALLOption

成员
ALL17

CapacitorBarcodeScannerCameraDirection

成员
BACK1
FRONT2

CapacitorBarcodeScannerScanOrientation

成员
PORTRAIT1
LANDSCAPE2
ADAPTIVE3

CapacitorBarcodeScannerAndroidScanningLibrary

成员
ZXING"zxing"
MLKIT"mlkit"