Сканирование qr на фронте

Сканирование qr на фронте https://scanapp.org/html5-qrcode-docs/docs/intro <script src="https://unpkg.com/html5-qrcode" type="text/javascript"> function onScanSuccess(decodedText, decodedResult) { // handle the scanned code as you like, for example: console.log(`Code matched = ${decodedText}`, decodedResult); } function onScanFailure(error) { // handle scan failure, usually better to ignore and keep scanning. // for example: console.warn(`Code scan error = ${error}`); } let html5QrcodeScanner = new Html5QrcodeScanner( "reader", { fps: 10, qrbox: {width: 250, height: 250} }, /* verbose= */ false); html5QrcodeScanner.render(onScanSuccess, onScanFailure); // This method will trigger user permissions Html5Qrcode.getCameras().then(devices => { /** * devices would be an array of objects of type: * { id: "id", label: "label" } */ if (devices && devices.length) { var cameraId = devices[0].id; // .. use this to start scanning. } }).catch(err => { // handle err }); const html5QrCode = new Html5Qrcode(/* element id */ "reader"); html5QrCode.start( cameraId, { fps: 10, // Optional, frame per seconds for qr code scanning qrbox: { width: 250, height: 250 } // Optional, if you want bounded box UI }, (decodedText, decodedResult) => { // do something when code is read }, (errorMessage) => { // parse error, ignore it. }) .catch((err) => { // Start failed, handle it. }); const html5QrCode = new Html5Qrcode("reader", /* verbose= */ true); const html5QrCode = new Html5Qrcode("reader"); const qrCodeSuccessCallback = (decodedText, decodedResult) => { /* handle success */ }; const config = { fps: 10, qrbox: { width: 250, height: 250 } }; // If you want to prefer front camera html5QrCode.start({ facingMode: "user" }, config, qrCodeSuccessCallback); // If you want to prefer back camera html5QrCode.start({ facingMode: "environment" }, config, qrCodeSuccessCallback); // Select front camera or fail with `OverconstrainedError`. html5QrCode.start({ facingMode: { exact: "user"} }, config, qrCodeSuccessCallback); // Select back camera or fail with `OverconstrainedError`. html5QrCode.start({ facingMode: { exact: "environment"} }, config, qrCodeSuccessCallback);