Просмотр исходного кода

```feat(electron/api/camera.js, electron/utils/camera.js, package.json): 添加最小化SmartShooter窗口的功能在 `electron/api/camera.js` 中添加了 `minimizeSmartShooter` 方法,用于查找并最小化 SmartShooter 窗口。
在 `electron/utils/camera.js` 中调用 `minimizeSmartShooter` 方法,并在 SmartShooter 启动后等待 1 秒钟再执行最小化操作。
更新了 `package.json` 的版本号到1.2.7。
```

panqiuyao 4 месяцев назад
Родитель
Сommit
f9bd891fd3
3 измененных файлов с 41 добавлено и 4 удалено
  1. 26 0
      electron/api/camera.js
  2. 14 3
      electron/utils/camera.js
  3. 1 1
      package.json

+ 26 - 0
electron/api/camera.js

@@ -2,6 +2,7 @@ const axios = require('axios');
 const http = require('http');
 const http = require('http');
 const { net } = require('electron');
 const { net } = require('electron');
 const { post } = require('./request')
 const { post } = require('./request')
+const { windowManager } = require('node-window-manager');
 //
 //
 const baseURL = 'http://localhost:5513/';
 const baseURL = 'http://localhost:5513/';
 // 创建 Axios 实例
 // 创建 Axios 实例
@@ -131,6 +132,31 @@ module.exports = {
       url: '/close_other_window',
       url: '/close_other_window',
     })
     })
   },
   },
+  async minimizeSmartShooter(){
+    try {
+      // 获取所有窗口
+      const windows = windowManager.getWindows();
+      
+      // 查找SmartShooter窗口
+      const smartShooterWindow = windows.find(window => {
+        const title = window.getTitle().toLowerCase();
+        return title.includes('smartshooter') || title.includes('smart shooter');
+      });
+      
+      if (smartShooterWindow) {
+        // 最小化窗口
+        smartShooterWindow.minimize();
+        console.log('SmartShooter窗口已最小化');
+        return { success: true, message: 'SmartShooter窗口已最小化' };
+      } else {
+        console.log('未找到SmartShooter窗口');
+        return { success: false, message: '未找到SmartShooter窗口' };
+      }
+    } catch (error) {
+      console.error('最小化SmartShooter失败:', error);
+      return { success: false, message: '最小化失败: ' + error.message };
+    }
+  },
   async checkCamera(){
   async checkCamera(){
     if(readConfigFile().controlType === 'digiCamControl'){
     if(readConfigFile().controlType === 'digiCamControl'){
       return  fetchExampleData(`?slc=get&param1=iso`)
       return  fetchExampleData(`?slc=get&param1=iso`)

+ 14 - 3
electron/utils/camera.js

@@ -4,7 +4,7 @@ const path = require('path');
 const fs = require('fs');
 const fs = require('fs');
 const Log = require('ee-core/log');
 const Log = require('ee-core/log');
 const { spawn } = require('child_process');
 const { spawn } = require('child_process');
-const { liveShow, liveHide, setParams, capture, getParams,CMD,captureLive,closeOtherWindow } = require('../api/camera');
+const { liveShow, liveHide, setParams, capture, getParams,CMD,captureLive,closeOtherWindow,minimizeSmartShooter } = require('../api/camera');
 
 
 const { dialog } = require('electron'); // 引入 electron 的 dialog 模块
 const { dialog } = require('electron'); // 引入 electron 的 dialog 模块
 const { windowManager } = require('node-window-manager');
 const { windowManager } = require('node-window-manager');
@@ -97,7 +97,17 @@ async function openCameraControlCmd(digiCamControlPath) {
         const child = spawn(exePath);
         const child = spawn(exePath);
 
 
         child.stdout.on('data', (data) => {
         child.stdout.on('data', (data) => {
-
+          // 如果是SmartShooter,启动后最小化窗口
+          if(readConfigFile().controlType === 'SmartShooter'){
+            // 等待软件启动完成
+            setTimeout(async () => {
+              try {
+                await minimizeSmartShooter();
+              } catch (error) {
+                console.log('最小化SmartShooter失败:', error);
+              }
+            }, 1000); // 等待3秒让软件完全启动
+          }
           resolve(true)
           resolve(true)
         });
         });
 
 
@@ -134,5 +144,6 @@ async function closeCameraControlTips() {
 
 
 module.exports = {
 module.exports = {
   checkCameraControlCmdExists,
   checkCameraControlCmdExists,
-  closeCameraControlTips
+  closeCameraControlTips,
+  minimizeSmartShooter
 };
 };

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "ZhiHuiYin",
   "name": "ZhiHuiYin",
-  "version": "1.2.5",
+  "version": "1.2.7",
   "description": "1、支持SmartShooter5软件控制相机",
   "description": "1、支持SmartShooter5软件控制相机",
   "main": "main.js",
   "main": "main.js",
   "scripts": {
   "scripts": {