A php killer game implementation
at master 1.7 kB view raw
1new QRCode(document.getElementById("qrcode"), document.getElementById('secret').innerText) 2 3let scanner = new Instascan.Scanner({ video: document.getElementById('preview') }) 4scanner.addListener('scan', submitCode) 5 6Instascan.Camera.getCameras() 7 .then(function (cameras) { 8 if (cameras.length > 0) { 9 var camIndex = 0 10 $.each(cameras, (i, c) => { 11 if (c.name.indexOf('back') != -1) { 12 camIndex = i 13 return false 14 } 15 }) 16 scanner.start(cameras[camIndex]) 17 } 18 setCamera(cameras.length > 0) 19 }).catch(function (e) { 20 setCamera(false) 21 }) 22 23function setCamera(isCamera) { 24 $('#manual').attr('hidden', isCamera) 25 $('#auto').attr('hidden', !isCamera) 26} 27function submitCode(secret) { 28 secret = secret || $('#code').val() 29 fetch('kill.php', { 30 method: 'POST', 31 body: JSON.stringify({"secret":secret}), 32 credentials: "same-origin" 33 }) 34 .then(resp => resp.json()) 35 .then(handleKill) 36 .catch(err => alert('Något gick fel. ' + err)) 37} 38 39function handleKill(resp) { // det hette qrkill förut, heheheh 40 if(resp.error) { 41 $('#modal-title').text('Fel...') 42 $('#modal-message').text(resp.error) 43 } else if(resp.success) { 44 $('#modal-title').text('Grattis!') 45 $('#modal-message').text(resp.success) 46 } 47 $('#qrtag-modal').modal() 48} 49 50// Jag är inte stolt över detta 51function checkAlive() { 52 fetch('alive.php', { 53 credentials: "same-origin" 54 }) 55 .then(resp => resp.json()) 56 .then(json => { 57 if(json.alive != '1') location.reload() 58 }) 59} 60 61setInterval(checkAlive, 1000 * 10)