8.7 发布—WinterCG 兼容性第 1 部分
了解更多

在 GitHub 上查看

@nativescript/mlkit-barcode-scanning

此插件与 @nativescript/mlkit-core 一起使用。它启用条形码扫描并为扫描到的条形码数据提供 BarcodeResult 类型。

内容

安装

shell
npm install @nativescript/mlkit-barcode-scanning

使用 @nativescript/mlkit-barcode-scanning

按照以下步骤扫描条形码

  1. 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>
  1. 要接收扫描到的条形码数据,请处理 detection 事件,如果事件的类型为 "barcode",则获取数据。
ts
import { 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

扫描到的条形码数据对象具有以下属性

属性类型可选
formatBarcodeFormats
calendarEventCalenderEvent
contactInfoContactInfo
boundsBounds
pointsPoint[]
displayValue字符串
driverLicenseDriverLicense
email邮件
geoPointGeoPoint
phonePhone
rawBytesany[]
rawValue字符串
smsSms
urlUrlBookmark
valueTypeValueType
wifiWiFi

WiFi

属性类型可选
encryptionType字符串
密码字符串
ssid字符串

UrlBookmark

属性类型可选
标题字符串
url字符串

Sms

属性类型可选
消息字符串
honeNumber字符串

Phone

属性类型可选
号码字符串
类型PhoneType

Email

属性类型可选
地址字符串
主题字符串
正文字符串
类型EmailType

DriverLicense

属性类型可选
证件类型字符串
字符串
中间名字符串
字符串
性别字符串
街道地址字符串
城市字符串
字符串
邮编字符串
驾照号码字符串
签发日期字符串
过期日期字符串
出生日期字符串
签发国家字符串

CalenderEvent

属性类型可选
描述字符串
位置字符串
组织者字符串
状态字符串
摘要字符串
开始字符串
结束字符串

地址

属性类型可选
地址行字符串[]
类型AddressType

ContactInfo

属性类型可选
地址Address[]

原点

属性类型可选
x号码
y号码

大小

属性类型可选
宽度号码
高度号码

Bounds

属性类型可选
原点Origin
大小Size

Point

属性类型可选
x号码
y号码

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"

BarcodeFormats

  • 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

上一页
核心