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 +++++++++++++++++++++++--------
 src/main.ts                  |    4 ++--
 2 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/src/main.ts b/src/main.ts
index 9a03e28..699fcb5 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -8,10 +8,10 @@
 import App from './App.vue'
 import VConsole from 'vconsole'
 
-if (import.meta.env.VITE_ENV === 'development') {
+// if (import.meta.env.VITE_ENV === 'development') {
 // 如果需要在手机平板上打开控制台,安装一个这个
     const vConsole = new VConsole()
-}
+// }
 
 
 createApp(App).use(router).use(ElementPlus).use(Vant).mount('#app')
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