From 4cbb64374087ddb344b1d4690611f765ed9eaa07 Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Sat, 10 May 2025 23:01:45 +0100 Subject: [PATCH] camera-5.0: Upload 3 frames --- web/public/camera-5.0/js/main.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/web/public/camera-5.0/js/main.js b/web/public/camera-5.0/js/main.js index 974ab7a..d853156 100644 --- a/web/public/camera-5.0/js/main.js +++ b/web/public/camera-5.0/js/main.js @@ -147,6 +147,8 @@ function handle_frame() { setTimeout(handle_frame, 20); } +image_data_urls = []; + function do_handle_frame() { if (busy) return; const canvas = document.getElementById("original"); @@ -174,7 +176,13 @@ function do_handle_frame() { } if (done_checking_auto_torch && is_valid_pattern && res.ok) { var data_url = canvas.toDataURL("image/jpeg", 1.0); - submit_image(res.qrcode, res.angle, data_url); + image_data_urls.push(data_url); + if (image_data_urls.length >= 3) { + submit_image(image_data_urls, res.qrcode, res.angle); + image_data_urls = []; + } else { + pending_hint = make_hint_text(res); + } } else { pending_hint = make_hint_text(res); } @@ -235,7 +243,7 @@ function hide_spinner() { add_class_by_query('.verifyspin', 'hidden'); } -async function submit_image(qrcode, angle, image_data_url) { +async function submit_image(qrcode, angle, image_data_urls) { busy = true; var begin = Date.now(); show_spinner(); @@ -253,7 +261,7 @@ async function submit_image(qrcode, angle, image_data_url) { qrcode, angle, phonemodel, - image_data_url, + image_data_urls, log: debug_logs.join("\n"), }; var r = await fetch("https://themblem.com/api/v1/qr-verify/", {