@@ -2,18 +2,31 @@ import { app, BrowserWindow } from "electron";
22import { electronApp } from "@electron-toolkit/utils" ;
33import { release , type } from "os" ;
44import { isMac } from "./utils/config" ;
5+ import { initSingleLock } from "./utils/single-lock" ;
56import { unregisterShortcuts } from "./shortcut" ;
67import { initTray , MainTray } from "./tray" ;
78import { processLog } from "./logger" ;
9+ import { existsSync , mkdirSync } from "fs" ;
10+ import { join } from "path" ;
811import initAppServer from "../server" ;
9- import { initSingleLock } from "./utils/single-lock" ;
1012import loadWindow from "./windows/load-window" ;
1113import mainWindow from "./windows/main-window" ;
1214import initIpc from "./ipc" ;
1315
1416// 屏蔽报错
1517process . env . ELECTRON_DISABLE_SECURITY_WARNINGS = "true" ;
1618
19+ // 便携模式下设置用户数据路径
20+ if ( process . env . PORTABLE_EXECUTABLE_DIR ) {
21+ processLog . info (
22+ "🔍 Portable mode detected, setting userData path to:" ,
23+ join ( process . env . PORTABLE_EXECUTABLE_DIR , "UserData" ) ,
24+ ) ;
25+ const userDataPath = join ( process . env . PORTABLE_EXECUTABLE_DIR , "UserData" ) ;
26+ if ( ! existsSync ( userDataPath ) ) mkdirSync ( userDataPath , { recursive : true } ) ;
27+ app . setPath ( "userData" , userDataPath ) ;
28+ }
29+
1730// 主进程
1831class MainProcess {
1932 // 窗口
0 commit comments