как хранить и проверять qr-код на сервере, используя nodejs и mongoose - PullRequest
0 голосов
/ 06 сентября 2018

Мы внедряем мобильное приложение, используя следующие технологии:

  • Node.JS & экспресс

  • MongoDB & mongoose

  • флаттера

Предположим, мы должны сгенерировать QR-код с информацией о товаре, такой как имя, цена, срок годности и т. Д., Которая должна быть уникальной, и всякий раз, когда клиент сканирует QR-код, он должен быть проверен путем подключения к серверу, получения данных и добавления выбранных товар в корзину.

Когда я искал в Интернете, я обнаружил, что мы должны преобразовать данные в холст (чтобы иметь QR-код). Есть ли решение для создания QR-кода на стороне сервера, хранения и проверки его в mongodb?

Вот наш файл product.js:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var productSchema = new Schema({
    productID: {
        type: mongoose.Schema.Types.ObjectId,
        required: true
    },
    name: {
        type: String,
        required: true,
        trim: true
    },
    expirationDate: {
        type: Date,
        required: true
    },
    price: {
        type: Number,
        required: true,
        trim: true
    },
    discount: {
        type: Number,
        default: 0,
        trim: true
    },
    producer: {
        type: String,
        required: true
    },
    QRCode: {
        type: String,
        required: true
    }
})

var Product = mongoose.model('Product', productSchema);
module.exports = Product;

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018
use jsqr,jimp we can decode the qr image and we will get data after that one we will compare the db and decoder data....
        ==========================================================================
        npm i jimp, jsqr 
        const Jimp = require('jimp');
        const jsQR = require("jsqr"); 
        Jimp.read('./path/to/image.jpg')// image path use path.join(__dirname,'/fileName')
          .then(image => {
            const code = jsQR(image.bitmap.data,image.bitmap.width,image.bitmap.height);

            if (code) {
          console.log("Found QR code", code);
    //comapre db data and code
        }

          })
          .catch(err => {
            // Handle an exception.
          });
0 голосов
/ 06 сентября 2018

ЭТОТ модуль может вам помочь. он работает как на стороне сервера, так и на стороне клиента, и имеет всю подробную информацию о том, как его использовать.

...