From 29b048064ae92d5d8d9737477f4375f724deeb08 Mon Sep 17 00:00:00 2001
From: whychw <858544502@qq.com>
Date: 星期六, 21 三月 2026 14:40:02 +0800
Subject: [PATCH] U 安装脚本修改

---
 main.js |  136 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 104 insertions(+), 32 deletions(-)

diff --git a/main.js b/main.js
index f270526..deefe8a 100644
--- a/main.js
+++ b/main.js
@@ -106,42 +106,114 @@
       log.info("绐楀彛鍒濆鍖� 鎺ュ彛涓嶉��");
       log.info("姝e湪缁堟java杩涚▼锛岀劧鍚庨噸鍚湇鍔�");
       // update(win.webContents, true);
-      let stop = child_process.spawn("cmd.exe", ["/c", `${process.cwd()}\\stop.bat`]);
-      log.info(`${process.cwd()}\\stop.bat`);
-
-      stop.on("exit", function (code) {
-        if (code > 0) {
-          log.info('鎵цstop.bat娌℃湁姝g‘exit, 閿欒鐮�' + code);
-          // return false;
-        }
-        log.info("java杩涚▼琚粓姝紝鍑嗗閲嶅惎鏈嶅姟");
-        child_process.exec(
-          `"${process.cwd()}\\fgv2.exe" restart`,
-          (err) => {
-            if (err) {
-              log.info("閲嶅惎鏈嶅姟鍑洪敊浜唖tderr: " + JSON.stringify(err));
-              // 閲嶆柊杩愯setup鎵瑰鐞� 灏濊瘯閲嶆柊娉ㄥ唽鏈嶅姟
-              child_process.spawn("cmd.exe", ["/c", "setup_service.bat"]);
-              log.info("鏈嶅姟寮傚父 姝e湪灏濊瘯閲嶆柊娉ㄥ唽鏈嶅姟");
-            } else {
-              log.info("鏈嶅姟閲嶅惎鎴愬姛锛岃繛鎺ヤ腑");
-            }
-            // 绛夊埌鏈嶅姟灏辩华鍐嶉噸鍚�
-            checkService(() => {
-              loadingWin.webContents.send("java-ready");
-            });
-          }
-        );
-      });
-      stop.on('error', (code, data) => {
-        log.info('stop.bat 鎵ц error');
-        log.info(code);
-        log.info(data);
-      });
+      // 濡傛灉鏄痺in骞冲彴
+      if (process.platform == 'darwin' || process.platform == 'win32') {
+        stopForWin();
+      } else if (process.platform == 'linux') {
+        stopForLinux();
+      }
     }
   );
   
 };
+
+// 缁堟java杩涚▼ 骞堕噸鍚湇鍔� win骞冲彴
+function stopForWin() {
+  let stop = child_process.spawn("cmd.exe", ["/c", `${process.cwd()}\\stop.bat`]);
+  log.info(`${process.cwd()}\\stop.bat`);
+  
+  stop.on("exit", function (code) {
+    if (code > 0) {
+      log.info('鎵цstop.bat娌℃湁姝g‘exit, 閿欒鐮�' + code);
+      // return false;
+    }
+    log.info("java杩涚▼琚粓姝紝鍑嗗閲嶅惎鏈嶅姟");
+    child_process.exec(
+      `"${process.cwd()}\\fgv2.exe" restart`,
+      (err) => {
+        if (err) {
+          log.info("閲嶅惎鏈嶅姟鍑洪敊浜唖tderr: " + JSON.stringify(err));
+          // 閲嶆柊杩愯setup鎵瑰鐞� 灏濊瘯閲嶆柊娉ㄥ唽鏈嶅姟
+          child_process.spawn("cmd.exe", ["/c", "setup_service.bat"]);
+          log.info("鏈嶅姟寮傚父 姝e湪灏濊瘯閲嶆柊娉ㄥ唽鏈嶅姟");
+        } else {
+          log.info("鏈嶅姟閲嶅惎鎴愬姛锛岃繛鎺ヤ腑");
+        }
+        // 绛夊埌鏈嶅姟灏辩华鍐嶉噸鍚�
+        checkService(() => {
+          loadingWin.webContents.send("java-ready");
+        });
+      }
+    );
+  });
+  stop.on('error', (code, data) => {
+    log.info('stop.bat 鎵ц error');
+    log.info(code);
+    log.info(data);
+  });
+}
+
+// 缁堟java杩涚▼ 骞堕噸鍚湇鍔� linux骞冲彴
+function stopForLinux() {
+  // 鑾峰彇搴旂敤鐨勭湡瀹炴牴鐩綍锛圓SAR 鍖呭鐨勮矾寰勶級
+  const appPath = app.getAppPath();
+  log.info(`appPath: ====${appPath}====`);
+  let dir = path.join(appPath, '../../stop.sh');
+  let stop = child_process.spawn('bash', [dir]);
+
+  // 鐩戝惉鑴氭湰鎵ц
+  stop.stdout.on('data', (data) => {
+    log.info(`stdout: ${data}`);
+  });
+
+  stop.stderr.on('data', (data) => {
+    log.info(`stderr: ${data}`);
+  });
+
+  stop.on('close', (code) => {
+    log.info(`瀛愯繘绋嬮��鍑猴紝 閫�鍑虹爜锛�${code}`);
+
+    log.info("java杩涚▼琚粓姝紝鍑嗗閲嶅惎鏈嶅姟");
+    child_process.exec(`systemctl --user restart fgv2.service`, (err, out, stde) => {
+      log.info('==========');
+      log.info(err);
+      log.info(out);
+      log.info(stde);
+      if (err) {
+        log.error('閲嶅惎鏈嶅姟澶辫触锛�' + err);
+        let dir = path.join(appPath, '../../setup_service.sh');
+        child_process.exec(`bash "${dir}"`, (error, stdout, stderr) => {
+          if (error) {
+            log.error('鎵ц澶辫触锛�' + error);
+          }
+          log.info(`鑴氭湰杈撳嚭锛� ${stdout}`);
+          log.error(`鑴氭湰閿欒锛� ${stderr}`);
+        });
+      }
+      if (out) {
+        log.info(`閲嶅惎鏈嶅姟杈撳嚭锛� ${out}`);
+      }
+      if (stde) {
+        log.error(`閲嶅惎鏈嶅姟閿欒锛� ${stde}`);
+        let dir = path.join(appPath, '../../setup_service.sh');
+        child_process.exec(`bash "${dir}"`, (error, stdout, stderr) => {
+          // log.info('0000000');
+          if (error) {
+            log.error('鎵ц澶辫触锛�' + error);
+          }
+          log.info(`鑴氭湰杈撳嚭锛� ${stdout}`);
+          log.error(`鑴氭湰閿欒锛� ${stderr}`);
+        });
+      }
+      // 绛夊埌鏈嶅姟灏辩华鍐嶉噸鍚�
+      checkService(() => {
+        loadingWin.webContents.send("java-ready");
+      });
+    });
+  });
+
+}
+
 async function createWindow(wait, cb) {
   // Create the browser window.
   win = new BrowserWindow({

--
Gitblit v1.9.1