Browse Source

Merge branch 'master' of http://gitlab.pubdata.cn/liangyibo/CameraMachine

rambo 5 months ago
parent
commit
8f091e8640

+ 40 - 0
electron/controller/takephoto.js

@@ -1,4 +1,5 @@
 'use strict';
+const fs = require('fs');
 const { Controller } = require('ee-core');
 const  { getPhotoRecords,delectGoodsArts,createMainImage,getLastPhotoRecord } =  require('../api/takephoto');
 const errData = {
@@ -65,6 +66,45 @@ class takePhotoController extends Controller {
       const result = await createMainImage(params);
       console.log('result')
       console.log(result)
+      if(result.code === 0 && result.data?.main_out_path){
+        const filePath =  result.data?.main_out_path
+        const fileBuffer = fs.readFileSync(filePath);
+        const base64Image = fileBuffer.toString('base64');
+
+
+        // 获取文件扩展名
+        const extension = path.extname(filePath).toLowerCase().replace('.', '');
+
+        // 根据扩展名确定 MIME 类型
+        let mimeType = '';
+        switch (extension) {
+          case 'jpg':
+          case 'jpeg':
+            mimeType = 'image/jpeg';
+            break;
+          case 'png':
+            mimeType = 'image/png';
+            break;
+          case 'gif':
+            mimeType = 'image/gif';
+            break;
+          case 'webp':
+            mimeType = 'image/webp';
+            break;
+          case 'avif':
+            mimeType = 'image/avif';
+            break;
+          default:
+            mimeType = 'application/octet-stream'; // 默认 MIME 类型
+            break;
+        }
+
+        // 构建 data URL
+        const dataUrl = `data:${mimeType};base64,${base64Image}`;
+
+        result.data.main_out_path = dataUrl
+
+      }
       if(result.data)  return result.data
       return errData;
     } catch (error) {

+ 2 - 0
frontend/src/views/Photography/check.vue

@@ -230,6 +230,8 @@ clientStore.ipc.on(icpList.socket.message+'_run_mcu_single', async (event, resul
         step.value = 2
         loading.value = false;
       }else if(result.msg){
+        loading.value = false;
+        showVideo()
         if(result.code !== 0) ElMessage.error(result.msg)
       }
       clientStore.ipc.removeAllListeners(icpList.takePhoto.createMainImage);

+ 2 - 2
public/dist/index.html

@@ -5,8 +5,8 @@
     <link rel="icon" type="image/svg+xml" href="./vite.svg" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>智惠映AI自动拍照机</title>
-    <script type="module" crossorigin src="./assets/index-CnxFcUMX.js"></script>
-    <link rel="stylesheet" crossorigin href="./assets/index-BAP24IE0.css">
+    <script type="module" crossorigin src="./assets/index-CBoEZzqz.js"></script>
+    <link rel="stylesheet" crossorigin href="./assets/index-CWbjMgyJ.css">
   </head>
   <body>
     <div id="app"></div>