gpt4 book ai didi

reactjs - quagga-react 条码扫描器

转载 作者:行者123 更新时间:2023-12-03 14:19:14 25 4
gpt4 key购买 nike

基本上,我让演示工作保存到实际扫描。即相机已打开等。不知道我错过了什么......

这是我的代码。

App.js 文件:

import React, { Component } from 'react';
import Scanner from './Scanner';
import Result from './Result';

export default class App extends Component {
constructor(props) {
super(props);
this.state = {
scanning: false,
results: [],
};
this._scan = this._scan.bind(this);
this._onDetected = this._onDetected.bind(this);
}

_scan() {
this.setState({ scanning: !this.state.scanning });
}

_onDetected(result) {
this.setState({ results: this.state.results.concat([result]) });
}
render() {
return (
<div>
<button onClick={this._scan}>{this.state.scanning ? 'Stop' : 'Start'}</button>
<ul className="results">
{this.state.results.map(result => {
<Result key={result.codeResult.code} result={result} />;
})}
</ul>
{this.state.scanning ? <Scanner onDetected={this.state._onDetected} /> : null}
</div>
);
}
}

Scanner.js 文件:

import React, { Component } from 'react';
import Quagga from 'quagga';

export default class Scanner extends Component {
constructor(props) {
super(props);
this._onDetected = this._onDetected.bind(this);
}

componentDidMount() {
Quagga.init(
{
inputStream: {
type: 'LiveStream',
constraints: {
width: 640,
height: 480,
facingMode: 'environment', // or user
},
},
locator: {
patchSize: 'medium',
halfSample: true,
},
numOfWorkers: 2,
decoder: {
readers: ['upc_reader'],
},
locate: true,
},
function(err) {
if (err) {
return console.log(err);
}
Quagga.start();
}
);
Quagga.onDetected(this._onDetected);
}

componentWillUnmount() {
Quagga.offDetected(this._onDetected);
}

_onDetected(result) {
this.props.onDetected(result);
}

render() {
return <div id="interactive" className="viewport" />;
}
}

Result.js 文件:

import React, { Component } from 'react';

export default class Result extends Component {
render() {
const result = this.props.result;

if (!result) {
return null;
}
return (
<li>
{result.codeResult.code} [{result.codeResult.format}]
</li>
);
}
}

谢谢 friend 们!

最佳答案

您可能想要更改阅读器类型,默认情况下为 code_128_reader

例如,超市中使用的大多数条形码都遵循 EAN 规范(至少在我住的地方),因此您可以将其放入 Scanner.js 中以更改为 ean_reader :

decoder: {
readers: ["ean_reader"]
},

Quagga 诞生的地方。

可以在此处找到读者列表:Quagga documentation .

如果这不起作用,我建议尝试其他阅读器/条形码组合。

关于reactjs - quagga-react 条码扫描器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48554178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com