【问题标题】:how to make barcode scanner check for barcode number from database?如何让条形码扫描仪从数据库中检查条形码编号?
【发布时间】:2021-01-04 20:56:20
【问题描述】:

有没有办法让条形码扫描仪检查我本地数据库中的条形码编号?我一直在尝试在 google 上进行一些搜索,但没有类似的教程。


import DataBase from '../Data/DataBase';

class BarCodeReader extends Component {
  constructor(props) {
    super(props);
    this.camera = null;
    this.barcodeCodes = [];

    this.state = {
      camera: {
        type: RNCamera.Constants.Type.back,
        flashMode: RNCamera.Constants.FlashMode.auto,
      },
    };
  }

  onBarCodeRead(scanResult) {
    if (scanResult.data != null) {
      if (!this.barcodeCodes.includes(scanResult.data)) {
        this.barcodeCodes.push(scanResult.data);
        alert(scanResult.data);
      }
    }
    return;
  }

  render() {
    return (
      <View style={styles.container}>
        <RNCamera
          ref={(ref) => {
            this.camera = ref;
          }}}
          onBarCodeRead={this.onBarCodeRead.bind(this)}
        />
      </View>
    );
  }
}

const DataBase = [
  {
    name: 'text',
    company: 'text',
    extra: '7 310350 118670',
  },
];
export default DataBase;

【问题讨论】:

  • 为您搜索 30 秒 :) tutorial
  • 所以问如何“从数据库中获取数据......”这就是你要找的。如果知道如何连接到数据库并获取您需要的内容,那么无论您检查什么。因此,请阅读如何构建将连接到数据库并将所需内容发送到您的应用程序的 api。 (REST API)
  • 此应用仅在本地,不会有服务器。
  • 那么你使用什么本地数据库?境界? Firebase ?PouchDB? SQLite?

标签: javascript react-native react-native-camera


【解决方案1】:
import codes from '../Data/codes';

class BarCodeReader extends Component {
  constructor(props) {
    super(props);
    this.camera = null;
    this.barcodeCodes = [];

    this.state = {
      camera: {
        type: RNCamera.Constants.Type.back,
        flashMode: RNCamera.Constants.FlashMode.auto,
      },
    };
  }
  
  validateCode(scanResult){
    const codeData = codes.find(codeMetadata => {
       return codeMetadata.id === scanResult.data 
    })
    
    if(codeData){
      alert("code valid" + codeData)
    } else {
      alert("code not found")
    }
  }

  onBarCodeRead(scanResult) {
    if (scanResult.data != null) {
      if (!this.barcodeCodes.includes(scanResult.data)) {
        this.barcodeCodes.push(scanResult);
        this.validateCode(scanResult)
      }
    }
    return;
  }

  render() {
    return (
      <View style={styles.container}>
        <RNCamera
          ref={(ref) => {
            this.camera = ref;
          }}}
          onBarCodeRead={this.onBarCodeRead.bind(this)}
        />
      </View>
    );
  }
}

const codes = [
  {
    id: "code-id-text"
    name: 'text',
    company: 'text',
    extra: '7 310350 118670',
  },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 2020-11-18
    • 2016-02-22
    • 1970-01-01
    相关资源
    最近更新 更多