在 GitHub 上查看
@nativescript/mlkit-barcode-scanning
此插件与 @nativescript/mlkit-core 一起使用。它启用条形码扫描并为扫描到的条形码数据提供 BarcodeResult 类型。
内容
安装
shellnpm install @nativescript/mlkit-barcode-scanning
使用 @nativescript/mlkit-barcode-scanning
按照以下步骤扫描条形码
- 将 MLKitView 添加到您的页面并将其
detectionType
属性设置为 "barcode"
。
xml<StackLayout>
<MLKitView
detectionType="barcode"
detection="{{ onDetection }}"
/>
<Label row="6">
<FormattedString>
<Span text="Barcode: "/>
<Span text="{{ barcode }}" class="text-green-500"/>
</FormattedString>
</Label>
</StackLayout>
- 要接收扫描到的条形码数据,请处理
detection
事件,如果事件的类型为 "barcode"
,则获取数据。
tsimport { Observable } from "@nativescript/core"
import { DetectionEvent, DetectionType } from "@nativescript/mlkit-core";
import { BarcodeResult } from "@nativescript/mlkit-barcode-scanning";
export class BarcodeScannerViewModel extends Observable {
barcode = ""
...
onDetection(event: DetectionEvent){
if(event.type == DetectionType.Barcode){
const barcodeData: BarcodeResult = event.data[0] as BarcodeResult;
this.set("barcode", barcodeData?.rawValue)
}
}
}
演示应用
您可以在 StackBlitz 上尝试演示应用,并使用 NativeScript 预览应用。
API
接口
BarcodeResult
扫描到的条形码数据对象具有以下属性
WiFi
属性 | 类型 | 可选 |
---|
encryptionType | 字符串 | 否 |
密码 | 字符串 | 否 |
ssid | 字符串 | 否 |
UrlBookmark
Sms
属性 | 类型 | 可选 |
---|
消息 | 字符串 | 否 |
honeNumber | 字符串 | 否 |
Phone
Email
DriverLicense
属性 | 类型 | 可选 |
---|
证件类型 | 字符串 | 否 |
名 | 字符串 | 否 |
中间名 | 字符串 | 否 |
姓 | 字符串 | 否 |
性别 | 字符串 | 否 |
街道地址 | 字符串 | 否 |
城市 | 字符串 | 否 |
州 | 字符串 | 否 |
邮编 | 字符串 | 否 |
驾照号码 | 字符串 | 否 |
签发日期 | 字符串 | 否 |
过期日期 | 字符串 | 否 |
出生日期 | 字符串 | 否 |
签发国家 | 字符串 | 否 |
CalenderEvent
属性 | 类型 | 可选 |
---|
描述 | 字符串 | 是 |
位置 | 字符串 | 是 |
组织者 | 字符串 | 是 |
状态 | 字符串 | 是 |
摘要 | 字符串 | 是 |
开始 | 字符串 | 是 |
结束 | 字符串 | 是 |
地址
原点
大小
Bounds
Point
GeoPoint
枚举
EncryptionType
Open
= 'open'
WPA
= 'wpa'
WEP
= 'wep'
Unknown
= 'unknown'
PhoneType
Unknown
= "unknown"
Home
= "home"
Work
= "work"
Fax
= "fax"
Mobile
= "mobile"
EmailType
Unknown
= "unknown"
Home
= "home"
Work
= "work"
AddressType
Unknown
= "unknown"
Home
= "home"
Work
= "work"
ValueType
ContactInfo
= "contactInfo"
Email
= "email"
ISBN
= "isbn"
Phone
= "phone"
Product
= "product"
Text
= "text"
Sms
= "sms"
URL
= "url"
WiFi
= "wifi"
Geo
= "geo"
CalenderEvent
= "calender"
DriverLicense
= "driverLicense"
Unknown
= "unknown"
ALL
= 'all'
CODE_128
= 'code_128'
CODE_39
= 'code_39'
CODE_93
= 'code_93'
CODABAR
= 'codabar'
DATA_MATRIX
= 'data_matrix'
EAN_13
= 'ean_13'
EAN_8
= 'ean_8'
ITF
= 'itf'
QR_CODE
= 'qr_code'
UPC_A
= 'upc_a'
UPC_E
= 'upc_e'
PDF417
= 'pdf417'
AZTEC
= 'aztec'
UNKOWN
= 'unknown'
许可证
Apache 许可证版本 2.0