-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
75 lines (69 loc) · 2.46 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Controle de Refeitório</title>
<script src="https://unpkg.com/html5-qrcode"></script>
<style>
body, html {
margin: 0;
padding: 0;
height: 100%;
overflow: hidden;
}
#reader {
width: 100%;
height: 100vh;
}
#result {
position: absolute;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
font-size: 1.5em;
color: green;
font-weight: bold;
z-index: 10; /* Para garantir que o texto fique acima do leitor */
}
</style>
</head>
<body>
<div id="reader"></div>
<p id="result"></p>
<!-- Adicionando o som -->
<audio id="success-sound" src="success.mp3" preload="auto"></audio>
<script>
const reader = new Html5Qrcode("reader");
let lastOpenedUrl = ""; // Variável para controlar a última URL aberta
// Inicia o leitor QR Code
reader.start(
{ facingMode: "user" }, // Câmera frontal
{
fps: 10, // Frames por segundo
qrbox: { width: 400, height: 400 } // Tamanho da caixa de leitura
},
(decodedText) => {
// Verifica se a URL já foi aberta
if (decodedText !== lastOpenedUrl) {
lastOpenedUrl = decodedText; // Atualiza a última URL aberta
window.open(decodedText, "_self"); // Abre a URL no mesmo guia
// Exibe a mensagem de confirmação
const resultElement = document.getElementById("result");
resultElement.innerText = "Abrindo: " + decodedText;
// Toca o som de sucesso
const successSound = document.getElementById("success-sound");
successSound.play();
// Limpa a mensagem após 3 segundos
setTimeout(() => {
resultElement.innerText = "";
}, 3000);
}
},
(errorMessage) => {
console.error(errorMessage); // Mensagens de erro no console
}
);
</script>
</body>
</html>