条形码扫描器
允许您的移动应用程序使用相机扫描 QR 码、EAN-13 和其他类型的条形码。
支持的平台
- Android
- iOS
设置
这个插件要求 Rust 版本至少是 1.64
请安装条形码扫描器插件。
使用项目的包管理器来添加依赖。
npm run tauri add barcode-scanner
yarn run tauri add barcode-scanner
pnpm tauri add barcode-scanner
bun tauri add barcode-scanner
cargo tauri add barcode-scanner
-
运行
cargo add tauri-plugin-barcode-scanner
以将插件添加到Cargo.toml
的项目依赖中。 -
修改
lib.rs
来初始化插件。
#[cfg_attr(mobile, tauri::mobile_entry_point)]fn run() { tauri::Builder::default() .plugin(tauri_plugin_barcode_scanner::init()) .run(tauri::generate_context!()) .expect("error while running tauri application");}
- 使用你喜欢的 JavaScript 包管理器安装 JavaScript Guest 绑定。
npm install @tauri-apps/plugin-barcode-scanner
yarn add @tauri-apps/plugin-barcode-scanner
pnpm add @tauri-apps/plugin-barcode-scanner
bun add @tauri-apps/plugin-barcode-scanner
用法
条形码扫描器插件在 JavaScript 中可用。
import { scan, Format } from '@tauri-apps/plugin-barcode-scanner';
// `windowed: true` 实际上将 webview 设置为透明的// 而不是为相机打开一个单独的视图// 确保你的用户界面已经准备好使用透明元素显示下面的内容scan({ windowed: true, formats: [Format.QRCode] });
权限
默认情况下,所有插件命令都被阻止,无法访问。
你必须在你的 capabilities
配置中定义一个权限列表。
更多信息请参见访问控制列表。
{ "$schema": "./schemas/mobile-schema.json", "identifier": "mobile-capability", "windows": ["main"], "platforms": ["iOS", "android"], "permissions": ["barcode-scanner:allow-scan", "barcode-scanner:allow-cancel"]}
权限 | 描述 |
---|---|
barcode-scanner:allow-cancel | 在没有预先配置作用域的情况下,启用 cancel 命令。 |
barcode-scanner:deny-cancel | 拒绝没有任何预先配置的作用域的 cancel 命令。 |
barcode-scanner:allow-check-permissions | 在没有预先配置作用域的情况下,启用 check_permissions 命令。 |
barcode-scanner:deny-check-permissions | 拒绝没有任何预先配置的作用域的 check_permissions 命令。 |
barcode-scanner:allow-open-app-settings | 在没有预先配置作用域的情况下,启用 open_app_settings 命令。 |
barcode-scanner:deny-open-app-settings | 拒绝没有任何预先配置的作用域的 open_app_settings 命令。 |
barcode-scanner:allow-request-permissions | 在没有预先配置作用域的情况下,启用 request_permissions 命令。 |
barcode-scanner:deny-request-permissions | 拒绝没有任何预先配置的作用域的 request_permissions 命令。 |
barcode-scanner:allow-scan | 在没有预先配置作用域的情况下,启用 scan 命令。 |
barcode-scanner:deny-scan | 拒绝没有任何预先配置的作用域的 scan 命令。 |
barcode-scanner:allow-vibrate | 在没有预先配置作用域的情况下,启用 vibrate 命令。 |
barcode-scanner:deny-vibrate | 拒绝没有任何预先配置的作用域的 vibrate 命令。 |
© 2024 Tauri Contributors. CC-BY / MIT