搜索插件、代码仓与 APP 分类

插件详情v3.0.0

camcode

使用您最喜欢的 JavaScript 库在 Flutter Web 上进行摄像头条形码扫描

近 30 天下载
92
喜欢数
45
Pub 分数
60

安装插件

flutter pub add camcode

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Camcode 是一个 Flutter Web 包,通过平台通道利用流行的 JavaScript 库实现条形码和二维码扫描。专为网络环境设计,它可无缝集成到 Flutter 应用中,利用设备摄像头提供实时扫描功能。该包抽象了浏览器摄像头访问和 JavaScript 互操作性的复杂性,为开发者提供了一个简单的 API,无需深入了解网络特定的实现细节即可实现扫描功能。非常适合需要快速、可靠地读取条形码或二维码的网络应用。

适合场景

  • 基于网络的库存管理
  • 在线票务扫描
  • 数字文档验证
  • 移动网页结账系统
  • 快速产品信息查询

主要特点

  • 使用原生 JavaScript 条形码库
  • 实时扫描 Flutter Web
  • 通过 pub add 简单集成
  • 跨浏览器兼容性
  • 轻便且快速

适合对象

  • Flutter Web 开发人员
  • 需要条形码扫描的网页应用
  • 具有二维码输入要求的项目
  • 开发者避免复杂的 JS 互操作
  • 快速扫描功能原型设计

使用建议

  • 仅适用于 Flutter Web
  • 需要浏览器摄像头权限
  • 依赖外部 JavaScript 库
  • 仅限支持的条形码类型
  • 不支持移动平台

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

camcode

A camera barcode scan library for Flutter Web

Web build status

Getting Started

Add a javascript file for barcode scan

function detectBarcode(dataUrl, callback) {

    // call here your favorite javascript barcode scan library
    // input must be an image dataUrl
    // output must be a single String

    // don't forget to trigger the call back in order to get the result
    callback(barcode);
}

Import javascript files into your index.html

<script src="LINK_TO_MY_AWESOME_JAVASCRIPT_BARCODE_SCAN_LIB"></script>
<script src="js/barcode.js"></script> // the javascript file with the detectBarcode function

Use it

import 'package:camcode/cam_code_scanner.dart';

showDialog(
    context: context,
    builder: (context) => CamCodeScanner(
    width: MediaQuery.of(context).size.width,
    height: MediaQuery.of(context).size.height,
    refreshDelayMillis: 200,
    onBarcodeResult: (barcode) {
        // do whatever you want
    },
    minimalResultCount: 2,
    ),
);

More options

Manually release resources

Sometimes, depending on your camcode usage, you may need to release resources manually.

1- To do so, create first a controller for the scanner

// Create a controller to send instructions to scanner
  final CamCodeScannerController _controller = CamCodeScannerController();

2- Then, add it to the CamCodeScanner

CamCodeScanner(
    width: ...,
    height: ...,
    refreshDelayMillis: ...,
    onBarcodeResult: (barcode) {
        ...
    },
    controller: _controller,
),

3- And finally, just call releaseResources() method when required

ElevatedButton(
    onPressed: () {
        _controller.releaseResources();
    },
    child: Text('Release resources'),
),

Calling this method will close the camera and stop the scanner process

所属分类

依赖

依赖清单 1 项

  • js^0.6.2

源码仓库

使用此插件的项目

暂无相关数据。