From 0eda270100f474b7ee4ca2a3ba0b0a25ba711c6e Mon Sep 17 00:00:00 2001
From: zhangchen <1652267879@qq.com>
Date: 星期四, 10 七月 2025 14:22:36 +0800
Subject: [PATCH] Merge branch 'ID2623-副屏识别二维码bug' into test
---
src/views/deviceWindoes2.vue | 31 +++++++++++++++++++++++--------
1 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/src/views/deviceWindoes2.vue b/src/views/deviceWindoes2.vue
index 9b032fb..4778634 100644
--- a/src/views/deviceWindoes2.vue
+++ b/src/views/deviceWindoes2.vue
@@ -2430,14 +2430,8 @@
reader.onload = async (e) => {
if (e.target && typeof e.target.result === "string") {
try {
- const codeReader = new BrowserMultiFormatReader();
- const result = await codeReader.decodeFromImage(
- undefined,
- e.target.result,
- { tryHarder: true }
- );
- // const result = await codeReader.decodeFromImage(undefined, e.target.result);
- deviceCode.value = result.text;
+ const result = await decodeQRCodeFromFile(file as unknown as File);
+ deviceCode.value = result;
ElMessage.success("识别成功");
} catch (err) {
console.error("Error details:", err);
@@ -2457,6 +2451,27 @@
reader.readAsDataURL(file);
};
+
+const decodeQRCodeFromFile = async (file: File): Promise<string> => {
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader();
+
+ reader.onload = async (e: any) => {
+ const imageBase64 = e.target.result;
+ const codeReader = new BrowserMultiFormatReader();
+
+ try {
+ const result = await codeReader.decodeFromImage(undefined, imageBase64);
+ resolve(result.getText());
+ } catch (err) {
+ reject(err);
+ }
+ };
+
+ reader.onerror = () => reject(new Error("读取文件失败"));
+ reader.readAsDataURL(file);
+ });
+};
const shaoma = () => {};
watch(
() => deviceData.value.设备变化,
--
Gitblit v1.8.0