Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- async function readNFC() {
- try {
- // Очищаем debugMessage перед началом работы
- s_widget.setFieldValue('debugMessage', "");
- const ndef = new NDEFReader();
- const ndefJson = {
- // Вы можете указать конкретные свойства, если требуется
- type: ndef.constructor.name,
- };
- s_widget.setFieldValue('debugMessage2', JSON.stringify(ndefJson, null, 2));
- await ndef.scan();
- console.log("> Scan started");
- s_widget.setFieldValue('debugMessage', "> Scan started");
- // Используем промисы для обработки событий
- const readingPromise = new Promise((resolve, reject) => {
- ndef.addEventListener("reading", ({ message, serialNumber }) => {
- console.log(`> Serial Number: ${serialNumber}`);
- s_widget.setFieldValue('debugMessage', `> Serial Number: ${serialNumber}`);
- console.log(`> Records: (${message.records.length})`);
- s_widget.setFieldValue('debugMessage', `> Records: (${message.records.length})`);
- // Получаем первую запись
- const record = message.records[0];
- if (record) {
- console.log(`Record Type: ${record.recordType}`);
- s_widget.setFieldValue('debugMessage', `Record Type: ${record.recordType}`);
- console.log(`MIME Type: ${record.mediaType || "N/A"}`);
- s_widget.setFieldValue('debugMessage', `MIME Type: ${record.mediaType || "N/A"}`);
- // Преобразование данных в текст
- const textDecoder = new TextDecoder();
- const decodedData = textDecoder.decode(record.data);
- console.log(`Message: ${decodedData}`);
- s_widget.setFieldValue('debugMessage', `Message: ${decodedData}`);
- resolve(decodedData); // Resolve, когда данные считаны
- } else {
- console.log("No records found on this NFC tag.");
- s_widget.setFieldValue('debugMessage', "No records found on this NFC tag.");
- reject("No records found");
- }
- });
- ndef.addEventListener("readingerror", () => {
- console.log("Argh! Cannot read data from the NFC tag. Try another one?");
- s_widget.setFieldValue('debugMessage', "Argh! Cannot read data from the NFC tag. Try another one?");
- reject("Reading error");
- });
- });
- // Ждем завершения обработки
- const message = await readingPromise;
- console.log("Message read successfully:", message);
- } catch (error) {
- s_widget.setFieldValue('debugMessage', "Argh! " + error);
- console.log("Argh! " + error);
- }
- const selectorID = `${index}${userType}`; // Just the selector, no `row.user`
- console.log('selectorID', selectorID)
- document.querySelector('.assigned_executor .violation-text').children[0].value = s_widget.getFieldValue('debugMessage2');
- // el.comment = 'reader.result3'
- // s_widget.getFieldValue('debugMessage')
- // renderTable(); // Re-render the table after the image has been added
- }
- // // Вызываем асинхронную функцию
- readNFC();
Advertisement
Add Comment
Please, Sign In to add comment