diff --git a/src/main/app.ts b/src/main/app.ts index fc04b381..44c892cf 100644 --- a/src/main/app.ts +++ b/src/main/app.ts @@ -84,16 +84,16 @@ export const initSingleInstanceHandle = () => { } app.on('second-instance', (event, argv, cwd) => { - for (const param of argv) { - if (URL_SCHEME_RXP.test(param)) { - global.envParams.deeplink = param - break - } - } - if (isExistMainWindow()) { - if (global.envParams.deeplink) global.lx.event_app.deeplink(global.envParams.deeplink) - else showMainWindow() + const envParams = parseEnvParams(argv) + if (envParams.deeplink) { + global.envParams.deeplink = envParams.deeplink + global.lx.event_app.deeplink(global.envParams.deeplink) + return + } + if (envParams.cmdParams.hidden !== true) { + showMainWindow() + } } else { app.quit() } diff --git a/src/main/utils/index.ts b/src/main/utils/index.ts index 5da6bf7b..8d98c5ad 100644 --- a/src/main/utils/index.ts +++ b/src/main/utils/index.ts @@ -9,11 +9,11 @@ import { nativeTheme, powerSaveBlocker } from 'electron' import { joinPath } from '@common/utils/nodejs' import themes from '@common/theme/index.json' -export const parseEnvParams = (): { cmdParams: LX.CmdParams, deeplink: string | null } => { +export const parseEnvParams = (argv = process.argv): { cmdParams: LX.CmdParams, deeplink: string | null } => { const cmdParams: LX.CmdParams = {} let deeplink = null const rx = /^-\w+/ - for (let param of process.argv) { + for (let param of argv) { if (URL_SCHEME_RXP.test(param)) { deeplink = param }