@lynker-desktop/electron-window-manager 0.0.4-alpha.60 → 0.0.4-alpha.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,WAAW,EAAkE,MAAM,UAAU,CAAA;AAGvI,OAAO,KAAK,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE3E,eAAO,MAAM,gBAAgB,wBAQzB,CAAC;AAUL,eAAO,MAAM,MAAM,QAAS,WAAW,SAEtC,CAAA;AAED,qBAAa,cAAc;IACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO5E,MAAM,CAAC,OAAO,EAAE,6BAA6B;IAyG7C,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,6BAA6B;IAmFhF,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS;IA+BtD,MAAM;IAYN,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAoB/B,QAAQ;IAQR,UAAU;CAIX;AAID,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,aAAc,MAAM,mBAAmB,MAAM,iBAAiB,MAAM,KAAG,cA4H7F,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,WAAW,EAAkE,MAAM,UAAU,CAAA;AAGvI,OAAO,KAAK,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE3E,eAAO,MAAM,gBAAgB,wBAQzB,CAAC;AAUL,eAAO,MAAM,MAAM,QAAS,WAAW,SAEtC,CAAA;AAED,qBAAa,cAAc;IACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO5E,MAAM,CAAC,OAAO,EAAE,6BAA6B;IA4G7C,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,6BAA6B;IAmFhF,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS;IA+BtD,MAAM;IAYN,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAoB/B,QAAQ;IAQR,UAAU;CAIX;AAID,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,aAAc,MAAM,mBAAmB,MAAM,iBAAiB,MAAM,KAAG,cA4H7F,CAAA"}
package/esm/main/index.js CHANGED
@@ -77,18 +77,21 @@ class WindowsManager {
77
77
  remote.enable(window.webContents);
78
78
  window._name = name;
79
79
  window._extraData = `${options?.extraData || ''}`;
80
- const showErrorView = lodash.debounce(() => {
81
- const _url = window.webContents.getURL() || url;
82
- window.webContents.executeJavaScript(`window['__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__'] = "${_url}"`);
83
- window.loadURL(`${errorView?.url}`);
84
- }, 1000 * 2);
85
80
  if (loadingView?.url) {
86
81
  this._setLoadingView(window, options);
87
82
  }
88
83
  if (errorView?.url) {
84
+ const showErrorView = lodash.debounce(() => {
85
+ window.loadURL(`${errorView?.url}`);
86
+ }, 800);
89
87
  window.webContents.on('did-fail-load', () => {
88
+ const _url = window.webContents.getURL() || url;
89
+ window.webContents.executeJavaScript(`sessionStorage.setItem('__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__', "${_url}")`);
90
90
  showErrorView();
91
91
  });
92
+ window.webContents.on('did-start-loading', () => {
93
+ showErrorView.cancel();
94
+ });
92
95
  }
93
96
  window.addListener('close', (event) => {
94
97
  log('log', 'close', window.id, window._name);
@@ -105,7 +108,6 @@ class WindowsManager {
105
108
  this.windows.delete(window.id);
106
109
  });
107
110
  window.webContents.on('dom-ready', () => {
108
- showErrorView.cancel();
109
111
  if (openDevTools) {
110
112
  window.webContents.openDevTools();
111
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/main/index.ts"],"sourcesContent":["import lodash from 'lodash'\nimport { app, BrowserWindow, BrowserView, WebContents, BrowserWindowConstructorOptions, session, Session, webContents } from 'electron'\nimport * as remote from '@electron/remote/main'\nimport eIpc from '@lynker-desktop/electron-ipc/main'\nimport type { ElectronWindowsManagerOptions, WindowItem } from '../common';\n\nexport const getCustomSession = (() => {\n let customSession: Session;\n return () => {\n if (!customSession) {\n customSession = session.fromPartition('persist:__global_main_session__');\n }\n return customSession;\n }\n})();\n\napp.on('ready', () => {\n getCustomSession();\n});\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport const enable = (win: WebContents) => {\n remote.enable(win)\n}\n\nexport class WindowsManager {\n loadingViewUrl: string | undefined;\n errorViewUrl: string | undefined;\n preload?: string;\n windows: Map<number, WindowItem | null>;\n constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string) {\n this.preload = preload;\n this.windows = new Map();\n this.loadingViewUrl = `${loadingViewUrl ?? ''}`;\n this.errorViewUrl = `${errorViewUrl ?? ''}`;\n }\n\n create(options: ElectronWindowsManagerOptions) {\n const {\n name = 'anonymous',\n url,\n loadingView = {url: undefined},\n errorView = {url: undefined},\n browserWindow: browserWindowOptions,\n openDevTools = false,\n preventOriginClose = false,\n } = options;\n try {\n loadingView.url = `${loadingView?.url ?? this.loadingViewUrl}`;\n lodash.merge(\n options,\n {\n loadingView,\n }\n )\n } catch (error) {\n log('error', 'loadingView error:', loadingView, this.loadingViewUrl);\n }\n try {\n errorView.url = `${errorView?.url ?? this.errorViewUrl}`;\n lodash.merge(\n options,\n {\n errorView,\n }\n )\n } catch (error) {\n log('error', 'errorView error:', errorView, this.errorViewUrl);\n }\n log('log', 'create', options);\n let parentWin:BrowserWindowConstructorOptions['parent'] = undefined;\n if (typeof browserWindowOptions?.parent === 'number') {\n parentWin = BrowserWindow.fromId(browserWindowOptions?.parent) || undefined;\n if (parentWin) {\n browserWindowOptions.parent = parentWin;\n } else {\n browserWindowOptions.parent = undefined;\n }\n }\n const window = new BrowserWindow(\n lodash.merge(\n {\n acceptFirstMouse: true,\n },\n (browserWindowOptions || {}),\n {\n parent: parentWin,\n webPreferences: {\n // session: getCustomSession(),\n plugins: true,\n nodeIntegration: true,\n contextIsolation: false,\n backgroundThrottling: false,\n nativeWindowOpen: false,\n webSecurity: false,\n preload: browserWindowOptions?.webPreferences?.preload || this.preload,\n }\n },\n )\n ) as WindowItem;\n remote.enable(window.webContents);\n window._name = name;\n window._extraData = `${options?.extraData || ''}`;\n const showErrorView = lodash.debounce(() => {\n const _url = window.webContents.getURL() || url;\n window.webContents.executeJavaScript(`window['__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__'] = \"${_url}\"`);\n window.loadURL(`${errorView?.url}`);\n }, 1000 * 2)\n if (loadingView?.url) {\n this._setLoadingView(window, options);\n }\n if (errorView?.url) {\n window.webContents.on('did-fail-load', () => {\n showErrorView();\n });\n }\n window.addListener('close', (event) => {\n log('log', 'close', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n if (preventOriginClose) {\n event.preventDefault();\n return;\n }\n });\n window.addListener('closed', () => {\n log('log', 'closed', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n });\n window.webContents.on('dom-ready', () => {\n showErrorView.cancel();\n if (openDevTools) {\n window.webContents.openDevTools();\n }\n });\n this.windows.set(window.id, window);\n window.loadURL(options.url);\n window.focus();\n return window;\n }\n\n _setLoadingView(window: WindowItem, createOptions: ElectronWindowsManagerOptions) {\n if (createOptions) {\n const {\n loadingView,\n preventOriginNavigate = false,\n } = createOptions;\n let _loadingView = new BrowserView({\n webPreferences: {\n // session: getCustomSession(),\n contextIsolation: false,\n nodeIntegration: true,\n // 允许loadURL与文件路径在开发环境\n webSecurity: false,\n }\n });\n\n if (window.isDestroyed()) {\n return;\n }\n\n const loadLoadingView = () => {\n const [ viewWidth, viewHeight ] = window.getSize();\n window.setBrowserView(_loadingView);\n _loadingView.setBounds({\n x: 0,\n y: 0,\n width: viewWidth || 10,\n height: viewHeight || 10,\n });\n log('log', 'loadLoadingView', window._name, loadingView);\n _loadingView.webContents.loadURL(loadingView?.url || '')\n };\n\n const onFailure = lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n _loadingView.webContents.close();\n }\n if (window.isDestroyed()) {\n return;\n }\n\n if (window) {\n window.removeBrowserView(_loadingView);\n }\n }, 300);\n\n loadLoadingView();\n\n window.on('resize', lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n if (window.isDestroyed()) {\n return;\n }\n const [ viewWidth, viewHeight ] = window.getSize();\n _loadingView.setBounds({ x: 0, y: 0, width: viewWidth || 10, height: viewHeight || 10 });\n }\n }, 500));\n\n window.webContents.on('will-navigate', (e) => {\n if (preventOriginNavigate) {\n e.preventDefault();\n return;\n }\n if (window.isDestroyed()) {\n return;\n }\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n window.setBrowserView(_loadingView);\n } else {\n // if loadingView has been destroyed\n _loadingView = new BrowserView();\n loadLoadingView();\n }\n });\n window.webContents.on('dom-ready', onFailure);\n window.webContents.on('crashed', onFailure);\n window.webContents.on('unresponsive', onFailure);\n window.webContents.on('did-fail-load', onFailure);\n window.webContents.on('did-finish-load', onFailure);\n window.webContents.on('did-stop-loading', onFailure);\n }\n }\n\n get(idOrName: string | number): WindowItem | undefined {\n log('log', 'get', idOrName);\n let win: WindowItem;\n this.windows.forEach((i, key) => {\n try {\n if (!(i && i?.webContents?.isDestroyed && !i?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n i = null;\n }\n } catch (error) {\n log('error', 'get');\n }\n\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n if (win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.()) {\n return win;\n }\n return undefined;\n }\n\n getAll() {\n log('log', 'getAll');\n this.windows.forEach((win, key) => {\n console.log(key, win);\n if (!(win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n }\n })\n return this.windows;\n }\n\n close(idOrName: string | number) {\n log('log', 'close', idOrName);\n let win: WindowItem | undefined = undefined;\n this.windows.forEach((i) => {\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n win && this.windows.delete(win?.id)\n // @ts-ignore\n return win && win?.destroy();\n }\n\n closeAll() {\n log('log', 'closeAll');\n this.windows.forEach((i) => {\n i && this.windows.delete(i?.id)\n i && i?.destroy();\n })\n }\n\n getPreload() {\n log('log', 'getPreload');\n return this.preload;\n }\n}\n// @ts-ignore\nglobal['__ELECTRON_WINDOWS_MANAGER__'] = undefined;\n\nexport let isInitialized = false;\n\nexport const initialize = (preload?: string, loadingViewUrl?: string, errorViewUrl?: string): WindowsManager => {\n // @ts-ignore\n if (isInitialized && global['__ELECTRON_WINDOWS_MANAGER__']) {\n // @ts-ignore\n return global['__ELECTRON_WINDOWS_MANAGER__'];\n }\n isInitialized = true;\n // @ts-ignore\n const wm = global['__ELECTRON_WINDOWS_MANAGER__'] = new WindowsManager(preload, loadingViewUrl, errorViewUrl)\n eIpc.mainIPC.handleRenderer('__ELECTRON_WINDOW_MANAGER_IPC_CHANNEL__', async (data: any) => {\n if (data?.type === 'create') {\n const opt = data as {\n type: 'create';\n data: ElectronWindowsManagerOptions\n };\n const findWin = wm.get(opt.data.name);\n if (findWin) {\n findWin.focus();\n return {\n winId: Number(`${findWin?.id || - 1}`),\n winName: `${findWin?._name || ''}`,\n winExtraData: `${findWin?._extraData || ''}`,\n };\n }\n const res = wm.create(opt.data)\n return {\n winId: Number(`${res.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n if (data?.type === 'get') {\n const opt = data as {\n type: 'get';\n data: string | number;\n };\n const res = wm.get(opt?.data)\n return {\n winId: Number(`${res?.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n\n if (data?.type === 'getAll') {\n const opt = data as {\n type: 'getAll';\n data: any;\n };\n const res = wm.getAll()\n const obj = {}\n res.forEach(i => {\n // @ts-ignore\n obj[i.id] = {\n winId: Number(`${i?.id || -1}`),\n winName: `${i?._name || ''}`,\n winExtraData: `${i?._extraData || ''}`,\n }\n })\n return obj;\n }\n\n if (data?.type === 'close') {\n const opt = data as {\n type: 'close';\n data: string | number;\n };\n const res = wm.close(opt?.data)\n return res;\n }\n\n if (data?.type === 'closeAll') {\n const opt = data as {\n type: 'closeAll';\n data: undefined;\n };\n const res = wm.closeAll()\n return res;\n }\n\n if (data?.type === 'getWindowForWebContentId') {\n const opt = data as {\n type: 'getWindowForWebContentId';\n data: number;\n };\n const targetWebContents = webContents.fromId(opt.data);\n if (targetWebContents) {\n let win = BrowserWindow.fromWebContents(targetWebContents)\n if (!win) {\n // 获取所有的 BrowserWindows\n let allWindows = BrowserWindow.getAllWindows();\n\n // 遍历所有窗口,检查每个窗口的 BrowserView\n for (let _win of allWindows) {\n let views = _win.getBrowserViews();\n\n // 遍历窗口的所有 BrowserView\n for (let view of views) {\n if (view.webContents === targetWebContents) {\n win = _win;\n break;\n }\n }\n\n if (win) break;\n }\n }\n return win?.id;\n }\n return undefined;\n }\n\n if (data?.type === 'getPreload') {\n const opt = data as {\n type: 'getPreload';\n data: number;\n };\n const res = wm.getPreload()\n return res;\n }\n\n return undefined\n })\n return wm;\n}\n\nconst log = (type: 'log' | 'error', ...data: any[]) => {\n const key = `[electron-window-manager]: `\n try {\n console[type](key, ...data);\n } catch (error) {\n console.error(key, error)\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/main/index.ts"],"sourcesContent":["import lodash from 'lodash'\nimport { app, BrowserWindow, BrowserView, WebContents, BrowserWindowConstructorOptions, session, Session, webContents } from 'electron'\nimport * as remote from '@electron/remote/main'\nimport eIpc from '@lynker-desktop/electron-ipc/main'\nimport type { ElectronWindowsManagerOptions, WindowItem } from '../common';\n\nexport const getCustomSession = (() => {\n let customSession: Session;\n return () => {\n if (!customSession) {\n customSession = session.fromPartition('persist:__global_main_session__');\n }\n return customSession;\n }\n})();\n\napp.on('ready', () => {\n getCustomSession();\n});\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport const enable = (win: WebContents) => {\n remote.enable(win)\n}\n\nexport class WindowsManager {\n loadingViewUrl: string | undefined;\n errorViewUrl: string | undefined;\n preload?: string;\n windows: Map<number, WindowItem | null>;\n constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string) {\n this.preload = preload;\n this.windows = new Map();\n this.loadingViewUrl = `${loadingViewUrl ?? ''}`;\n this.errorViewUrl = `${errorViewUrl ?? ''}`;\n }\n\n create(options: ElectronWindowsManagerOptions) {\n const {\n name = 'anonymous',\n url,\n loadingView = {url: undefined},\n errorView = {url: undefined},\n browserWindow: browserWindowOptions,\n openDevTools = false,\n preventOriginClose = false,\n } = options;\n try {\n loadingView.url = `${loadingView?.url ?? this.loadingViewUrl}`;\n lodash.merge(\n options,\n {\n loadingView,\n }\n )\n } catch (error) {\n log('error', 'loadingView error:', loadingView, this.loadingViewUrl);\n }\n try {\n errorView.url = `${errorView?.url ?? this.errorViewUrl}`;\n lodash.merge(\n options,\n {\n errorView,\n }\n )\n } catch (error) {\n log('error', 'errorView error:', errorView, this.errorViewUrl);\n }\n log('log', 'create', options);\n let parentWin:BrowserWindowConstructorOptions['parent'] = undefined;\n if (typeof browserWindowOptions?.parent === 'number') {\n parentWin = BrowserWindow.fromId(browserWindowOptions?.parent) || undefined;\n if (parentWin) {\n browserWindowOptions.parent = parentWin;\n } else {\n browserWindowOptions.parent = undefined;\n }\n }\n const window = new BrowserWindow(\n lodash.merge(\n {\n acceptFirstMouse: true,\n },\n (browserWindowOptions || {}),\n {\n parent: parentWin,\n webPreferences: {\n // session: getCustomSession(),\n plugins: true,\n nodeIntegration: true,\n contextIsolation: false,\n backgroundThrottling: false,\n nativeWindowOpen: false,\n webSecurity: false,\n preload: browserWindowOptions?.webPreferences?.preload || this.preload,\n }\n },\n )\n ) as WindowItem;\n remote.enable(window.webContents);\n window._name = name;\n window._extraData = `${options?.extraData || ''}`;\n\n if (loadingView?.url) {\n this._setLoadingView(window, options);\n }\n if (errorView?.url) {\n const showErrorView = lodash.debounce(() => {\n window.loadURL(`${errorView?.url}`);\n }, 800);\n window.webContents.on('did-fail-load', () => {\n const _url = window.webContents.getURL() || url;\n window.webContents.executeJavaScript(`sessionStorage.setItem('__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__', \"${_url}\")`);\n showErrorView();\n });\n window.webContents.on('did-start-loading', () => {\n showErrorView.cancel();\n });\n }\n window.addListener('close', (event) => {\n log('log', 'close', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n if (preventOriginClose) {\n event.preventDefault();\n return;\n }\n });\n window.addListener('closed', () => {\n log('log', 'closed', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n });\n window.webContents.on('dom-ready', () => {\n if (openDevTools) {\n window.webContents.openDevTools();\n }\n });\n this.windows.set(window.id, window);\n window.loadURL(options.url);\n window.focus();\n return window;\n }\n\n _setLoadingView(window: WindowItem, createOptions: ElectronWindowsManagerOptions) {\n if (createOptions) {\n const {\n loadingView,\n preventOriginNavigate = false,\n } = createOptions;\n let _loadingView = new BrowserView({\n webPreferences: {\n // session: getCustomSession(),\n contextIsolation: false,\n nodeIntegration: true,\n // 允许loadURL与文件路径在开发环境\n webSecurity: false,\n }\n });\n\n if (window.isDestroyed()) {\n return;\n }\n\n const loadLoadingView = () => {\n const [ viewWidth, viewHeight ] = window.getSize();\n window.setBrowserView(_loadingView);\n _loadingView.setBounds({\n x: 0,\n y: 0,\n width: viewWidth || 10,\n height: viewHeight || 10,\n });\n log('log', 'loadLoadingView', window._name, loadingView);\n _loadingView.webContents.loadURL(loadingView?.url || '')\n };\n\n const onFailure = lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n _loadingView.webContents.close();\n }\n if (window.isDestroyed()) {\n return;\n }\n\n if (window) {\n window.removeBrowserView(_loadingView);\n }\n }, 300);\n\n loadLoadingView();\n\n window.on('resize', lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n if (window.isDestroyed()) {\n return;\n }\n const [ viewWidth, viewHeight ] = window.getSize();\n _loadingView.setBounds({ x: 0, y: 0, width: viewWidth || 10, height: viewHeight || 10 });\n }\n }, 500));\n\n window.webContents.on('will-navigate', (e) => {\n if (preventOriginNavigate) {\n e.preventDefault();\n return;\n }\n if (window.isDestroyed()) {\n return;\n }\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n window.setBrowserView(_loadingView);\n } else {\n // if loadingView has been destroyed\n _loadingView = new BrowserView();\n loadLoadingView();\n }\n });\n window.webContents.on('dom-ready', onFailure);\n window.webContents.on('crashed', onFailure);\n window.webContents.on('unresponsive', onFailure);\n window.webContents.on('did-fail-load', onFailure);\n window.webContents.on('did-finish-load', onFailure);\n window.webContents.on('did-stop-loading', onFailure);\n }\n }\n\n get(idOrName: string | number): WindowItem | undefined {\n log('log', 'get', idOrName);\n let win: WindowItem;\n this.windows.forEach((i, key) => {\n try {\n if (!(i && i?.webContents?.isDestroyed && !i?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n i = null;\n }\n } catch (error) {\n log('error', 'get');\n }\n\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n if (win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.()) {\n return win;\n }\n return undefined;\n }\n\n getAll() {\n log('log', 'getAll');\n this.windows.forEach((win, key) => {\n console.log(key, win);\n if (!(win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n }\n })\n return this.windows;\n }\n\n close(idOrName: string | number) {\n log('log', 'close', idOrName);\n let win: WindowItem | undefined = undefined;\n this.windows.forEach((i) => {\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n win && this.windows.delete(win?.id)\n // @ts-ignore\n return win && win?.destroy();\n }\n\n closeAll() {\n log('log', 'closeAll');\n this.windows.forEach((i) => {\n i && this.windows.delete(i?.id)\n i && i?.destroy();\n })\n }\n\n getPreload() {\n log('log', 'getPreload');\n return this.preload;\n }\n}\n// @ts-ignore\nglobal['__ELECTRON_WINDOWS_MANAGER__'] = undefined;\n\nexport let isInitialized = false;\n\nexport const initialize = (preload?: string, loadingViewUrl?: string, errorViewUrl?: string): WindowsManager => {\n // @ts-ignore\n if (isInitialized && global['__ELECTRON_WINDOWS_MANAGER__']) {\n // @ts-ignore\n return global['__ELECTRON_WINDOWS_MANAGER__'];\n }\n isInitialized = true;\n // @ts-ignore\n const wm = global['__ELECTRON_WINDOWS_MANAGER__'] = new WindowsManager(preload, loadingViewUrl, errorViewUrl)\n eIpc.mainIPC.handleRenderer('__ELECTRON_WINDOW_MANAGER_IPC_CHANNEL__', async (data: any) => {\n if (data?.type === 'create') {\n const opt = data as {\n type: 'create';\n data: ElectronWindowsManagerOptions\n };\n const findWin = wm.get(opt.data.name);\n if (findWin) {\n findWin.focus();\n return {\n winId: Number(`${findWin?.id || - 1}`),\n winName: `${findWin?._name || ''}`,\n winExtraData: `${findWin?._extraData || ''}`,\n };\n }\n const res = wm.create(opt.data)\n return {\n winId: Number(`${res.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n if (data?.type === 'get') {\n const opt = data as {\n type: 'get';\n data: string | number;\n };\n const res = wm.get(opt?.data)\n return {\n winId: Number(`${res?.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n\n if (data?.type === 'getAll') {\n const opt = data as {\n type: 'getAll';\n data: any;\n };\n const res = wm.getAll()\n const obj = {}\n res.forEach(i => {\n // @ts-ignore\n obj[i.id] = {\n winId: Number(`${i?.id || -1}`),\n winName: `${i?._name || ''}`,\n winExtraData: `${i?._extraData || ''}`,\n }\n })\n return obj;\n }\n\n if (data?.type === 'close') {\n const opt = data as {\n type: 'close';\n data: string | number;\n };\n const res = wm.close(opt?.data)\n return res;\n }\n\n if (data?.type === 'closeAll') {\n const opt = data as {\n type: 'closeAll';\n data: undefined;\n };\n const res = wm.closeAll()\n return res;\n }\n\n if (data?.type === 'getWindowForWebContentId') {\n const opt = data as {\n type: 'getWindowForWebContentId';\n data: number;\n };\n const targetWebContents = webContents.fromId(opt.data);\n if (targetWebContents) {\n let win = BrowserWindow.fromWebContents(targetWebContents)\n if (!win) {\n // 获取所有的 BrowserWindows\n let allWindows = BrowserWindow.getAllWindows();\n\n // 遍历所有窗口,检查每个窗口的 BrowserView\n for (let _win of allWindows) {\n let views = _win.getBrowserViews();\n\n // 遍历窗口的所有 BrowserView\n for (let view of views) {\n if (view.webContents === targetWebContents) {\n win = _win;\n break;\n }\n }\n\n if (win) break;\n }\n }\n return win?.id;\n }\n return undefined;\n }\n\n if (data?.type === 'getPreload') {\n const opt = data as {\n type: 'getPreload';\n data: number;\n };\n const res = wm.getPreload()\n return res;\n }\n\n return undefined\n })\n return wm;\n}\n\nconst log = (type: 'log' | 'error', ...data: any[]) => {\n const key = `[electron-window-manager]: `\n try {\n console[type](key, ...data);\n } catch (error) {\n console.error(key, error)\n }\n}\n"],"names":[],"mappings":";;;;;AAMa,MAAA,gBAAgB,GAAG,CAAC,MAAK;AACpC,IAAA,IAAI,aAAsB,CAAC;AAC3B,IAAA,OAAO,MAAK;QACV,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;SAC1E;AACD,QAAA,OAAO,aAAa,CAAC;AACvB,KAAC,CAAA;AACH,CAAC,IAAI;AAEL,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;AACnB,IAAA,gBAAgB,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE;IAC3B,MAAM,CAAC,UAAU,EAAE,CAAC;AACtB,CAAC;AAEY,MAAA,MAAM,GAAG,CAAC,GAAgB,KAAI;AACzC,IAAA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACpB,EAAC;MAEY,cAAc,CAAA;AAKzB,IAAA,WAAA,CAAY,OAAgB,EAAE,cAAuB,EAAE,YAAqB,EAAA;AAC1E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,CAAA,EAAG,cAAc,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,CAAA,EAAG,YAAY,IAAI,EAAE,EAAE,CAAC;KAC7C;AAED,IAAA,MAAM,CAAC,OAAsC,EAAA;AAC3C,QAAA,MAAM,EACJ,IAAI,GAAG,WAAW,EAClB,GAAG,EACH,WAAW,GAAG,EAAC,GAAG,EAAE,SAAS,EAAC,EAC9B,SAAS,GAAG,EAAC,GAAG,EAAE,SAAS,EAAC,EAC5B,aAAa,EAAE,oBAAoB,EACnC,YAAY,GAAG,KAAK,EACpB,kBAAkB,GAAG,KAAK,GAC3B,GAAG,OAAO,CAAC;AACZ,QAAA,IAAI;AACF,YAAA,WAAW,CAAC,GAAG,GAAG,CAAA,EAAG,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,cAAc,CAAA,CAAE,CAAC;AAC/D,YAAA,MAAM,CAAC,KAAK,CACV,OAAO,EACP;gBACE,WAAW;AACZ,aAAA,CACF,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACtE;AACD,QAAA,IAAI;AACF,YAAA,SAAS,CAAC,GAAG,GAAG,CAAA,EAAG,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAA,CAAE,CAAC;AACzD,YAAA,MAAM,CAAC,KAAK,CACV,OAAO,EACP;gBACE,SAAS;AACV,aAAA,CACF,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAChE;AACD,QAAA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,SAAS,GAA6C,SAAS,CAAC;AACpE,QAAA,IAAI,OAAO,oBAAoB,EAAE,MAAM,KAAK,QAAQ,EAAE;YACpD,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC;YAC5E,IAAI,SAAS,EAAE;AACb,gBAAA,oBAAoB,CAAC,MAAM,GAAG,SAAS,CAAC;aACzC;iBAAM;AACL,gBAAA,oBAAoB,CAAC,MAAM,GAAG,SAAS,CAAC;aACzC;SACF;QACD,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,KAAK,CACV;AACE,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,GACA,oBAAoB,IAAI,EAAE,GAC3B;AACE,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,cAAc,EAAE;;AAEd,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,oBAAoB,EAAE,KAAK;AAC3B,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO;AACvE,aAAA;AACF,SAAA,CACF,CACY,CAAC;AAChB,QAAA,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAClC,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,UAAU,GAAG,CAAG,EAAA,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA,CAAE,CAAC;AAElD,QAAA,IAAI,WAAW,EAAE,GAAG,EAAE;AACpB,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC;AACD,QAAA,IAAI,SAAS,EAAE,GAAG,EAAE;AAClB,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAK;gBACzC,MAAM,CAAC,OAAO,CAAC,CAAA,EAAG,SAAS,EAAE,GAAG,CAAE,CAAA,CAAC,CAAC;aACrC,EAAE,GAAG,CAAC,CAAC;YACR,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,MAAK;gBAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC;gBAChD,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAA4E,yEAAA,EAAA,IAAI,CAAI,EAAA,CAAA,CAAC,CAAC;AAC3H,gBAAA,aAAa,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAmB,EAAE,MAAK;gBAC9C,aAAa,CAAC,MAAM,EAAE,CAAC;AACzB,aAAC,CAAC,CAAC;SACJ;QACD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,KAAI;AACpC,YAAA,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,kBAAkB,EAAE;gBACtB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;AACH,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAK;AAChC,YAAA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAChC,SAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAK;YACtC,IAAI,YAAY,EAAE;AAChB,gBAAA,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;aACnC;AACH,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACpC,QAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,QAAA,OAAO,MAAM,CAAC;KACf;IAED,eAAe,CAAC,MAAkB,EAAE,aAA4C,EAAA;QAC9E,IAAI,aAAa,EAAE;YACjB,MAAM,EACJ,WAAW,EACX,qBAAqB,GAAG,KAAK,GAC9B,GAAG,aAAa,CAAC;AAClB,YAAA,IAAI,YAAY,GAAG,IAAI,WAAW,CAAC;AACjC,gBAAA,cAAc,EAAE;;AAEd,oBAAA,gBAAgB,EAAE,KAAK;AACvB,oBAAA,eAAe,EAAE,IAAI;;AAErB,oBAAA,WAAW,EAAE,KAAK;AACnB,iBAAA;AACF,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;gBACxB,OAAO;aACR;YAED,MAAM,eAAe,GAAG,MAAK;gBAC3B,MAAM,CAAE,SAAS,EAAE,UAAU,CAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;AACnD,gBAAA,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACpC,YAAY,CAAC,SAAS,CAAC;AACrB,oBAAA,CAAC,EAAE,CAAC;AACJ,oBAAA,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,SAAS,IAAI,EAAE;oBACtB,MAAM,EAAE,UAAU,IAAI,EAAE;AACzB,iBAAA,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACzD,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;AAC1D,aAAC,CAAC;AAEF,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAK;AACrC,gBAAA,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;AACvE,oBAAA,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;iBAClC;AACD,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBACxB,OAAO;iBACR;gBAED,IAAI,MAAM,EAAE;AACV,oBAAA,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;iBACxC;aACF,EAAE,GAAG,CAAC,CAAC;AAER,YAAA,eAAe,EAAE,CAAC;YAElB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAK;AACvC,gBAAA,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;AACvE,oBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;wBACxB,OAAO;qBACR;oBACD,MAAM,CAAE,SAAS,EAAE,UAAU,CAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC1F;AACH,aAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAET,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,KAAI;gBAC3C,IAAI,qBAAqB,EAAE;oBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO;iBACR;AACD,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBACxB,OAAO;iBACR;AACD,gBAAA,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;AACvE,oBAAA,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;iBACrC;qBAAM;;AAEL,oBAAA,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;AACjC,oBAAA,eAAe,EAAE,CAAC;iBACnB;AACH,aAAC,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;SACtD;KACF;AAED,IAAA,GAAG,CAAC,QAAyB,EAAA;AAC3B,QAAA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAI,GAAe,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAI;AAC9B,YAAA,IAAI;gBACF,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE;oBAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3B,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBACxB,CAAC,GAAG,IAAI,CAAC;iBACV;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrB;AAED,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,EAAE,EAAE,KAAK,QAAQ,EAAE;oBACtB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AAAM,iBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACvC,gBAAA,IAAI,CAAC,EAAE,KAAK,KAAK,QAAQ,EAAE;oBACzB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AACH,SAAC,CAAC,CAAA;;AAEF,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE;AAC9E,YAAA,OAAO,GAAG,CAAC;SACZ;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,GAAA;AACJ,QAAA,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AAChC,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE;gBACjF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3B,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACzB;AACH,SAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,KAAK,CAAC,QAAyB,EAAA;AAC7B,QAAA,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,GAA2B,SAAS,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACzB,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,EAAE,EAAE,KAAK,QAAQ,EAAE;oBACtB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AAAM,iBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACvC,gBAAA,IAAI,CAAC,EAAE,KAAK,KAAK,QAAQ,EAAE;oBACzB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AACH,SAAC,CAAC,CAAA;;QAEF,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;;AAEnC,QAAA,OAAO,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;KAC9B;IAED,QAAQ,GAAA;AACN,QAAA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACzB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC/B,YAAA,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AACpB,SAAC,CAAC,CAAA;KACH;IAED,UAAU,GAAA;AACR,QAAA,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AACF,CAAA;AACD;AACA,MAAM,CAAC,8BAA8B,CAAC,GAAG,SAAS,CAAC;AAE5C,IAAI,aAAa,GAAG,MAAM;AAEpB,MAAA,UAAU,GAAG,CAAC,OAAgB,EAAE,cAAuB,EAAE,YAAqB,KAAoB;;AAE7G,IAAA,IAAI,aAAa,IAAI,MAAM,CAAC,8BAA8B,CAAC,EAAE;;AAE3D,QAAA,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;KAC/C;IACD,aAAa,GAAG,IAAI,CAAC;;AAErB,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,8BAA8B,CAAC,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;IAC7G,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,yCAAyC,EAAE,OAAO,IAAS,KAAI;AACzF,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC3B,MAAM,GAAG,GAAG,IAGX,CAAC;AACF,YAAA,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,OAAO,EAAE,EAAE,IAAI,CAAE,CAAC,CAAA,CAAE,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAG,EAAA,OAAO,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAClC,oBAAA,YAAY,EAAE,CAAG,EAAA,OAAO,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;iBAC7C,CAAC;aACH;YACD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE,CAAC;AAChC,gBAAA,OAAO,EAAE,CAAG,EAAA,GAAG,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAC9B,gBAAA,YAAY,EAAE,CAAG,EAAA,GAAG,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;aACzC,CAAC;SACH;AACD,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,EAAE;YACxB,MAAM,GAAG,GAAG,IAGX,CAAC;YACF,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC7B,OAAQ;gBACN,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE,CAAC;AACjC,gBAAA,OAAO,EAAE,CAAG,EAAA,GAAG,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAC9B,gBAAA,YAAY,EAAE,CAAG,EAAA,GAAG,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;aACzC,CAAC;SACH;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE;AAK3B,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;YACvB,MAAM,GAAG,GAAG,EAAE,CAAA;AACd,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,IAAG;;AAEd,gBAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;oBACV,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE,CAAC;AAC/B,oBAAA,OAAO,EAAG,CAAG,EAAA,CAAC,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAC7B,oBAAA,YAAY,EAAE,CAAG,EAAA,CAAC,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;iBACvC,CAAA;AACH,aAAC,CAAC,CAAA;AACF,YAAA,OAAO,GAAG,CAAC;SACZ;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,GAAG,GAAG,IAGX,CAAC;YACF,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC/B,YAAA,OAAQ,GAAG,CAAC;SACb;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE;AAK7B,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;AACzB,YAAA,OAAO,GAAG,CAAC;SACZ;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,0BAA0B,EAAE;YAC7C,MAAM,GAAG,GAAG,IAGX,CAAC;YACF,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,iBAAiB,EAAE;gBACrB,IAAI,GAAG,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;gBAC1D,IAAI,CAAC,GAAG,EAAE;;AAER,oBAAA,IAAI,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;;AAG/C,oBAAA,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE;AAC3B,wBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;;AAGnC,wBAAA,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;AACtB,4BAAA,IAAI,IAAI,CAAC,WAAW,KAAK,iBAAiB,EAAE;gCAC1C,GAAG,GAAG,IAAI,CAAC;gCACX,MAAM;6BACP;yBACF;AAED,wBAAA,IAAI,GAAG;4BAAE,MAAM;qBAChB;iBACF;gBACD,OAAO,GAAG,EAAE,EAAE,CAAC;aAChB;AACD,YAAA,OAAO,SAAS,CAAC;SAClB;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,YAAY,EAAE;AAK/B,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAA;AAC3B,YAAA,OAAO,GAAG,CAAC;SACZ;AAED,QAAA,OAAO,SAAS,CAAA;AAClB,KAAC,CAAC,CAAA;AACF,IAAA,OAAO,EAAE,CAAC;AACZ,EAAC;AAED,MAAM,GAAG,GAAG,CAAC,IAAqB,EAAE,GAAG,IAAW,KAAI;IACpD,MAAM,GAAG,GAAG,CAAA,2BAAA,CAA6B,CAAA;AACzC,IAAA,IAAI;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;KAC7B;IAAC,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KAC1B;AACH,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,WAAW,EAAkE,MAAM,UAAU,CAAA;AAGvI,OAAO,KAAK,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE3E,eAAO,MAAM,gBAAgB,wBAQzB,CAAC;AAUL,eAAO,MAAM,MAAM,QAAS,WAAW,SAEtC,CAAA;AAED,qBAAa,cAAc;IACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO5E,MAAM,CAAC,OAAO,EAAE,6BAA6B;IAyG7C,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,6BAA6B;IAmFhF,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS;IA+BtD,MAAM;IAYN,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAoB/B,QAAQ;IAQR,UAAU;CAIX;AAID,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,aAAc,MAAM,mBAAmB,MAAM,iBAAiB,MAAM,KAAG,cA4H7F,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/main/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,WAAW,EAAkE,MAAM,UAAU,CAAA;AAGvI,OAAO,KAAK,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE3E,eAAO,MAAM,gBAAgB,wBAQzB,CAAC;AAUL,eAAO,MAAM,MAAM,QAAS,WAAW,SAEtC,CAAA;AAED,qBAAa,cAAc;IACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;gBAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAO5E,MAAM,CAAC,OAAO,EAAE,6BAA6B;IA4G7C,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,6BAA6B;IAmFhF,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS;IA+BtD,MAAM;IAYN,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAoB/B,QAAQ;IAQR,UAAU;CAIX;AAID,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,aAAc,MAAM,mBAAmB,MAAM,iBAAiB,MAAM,KAAG,cA4H7F,CAAA"}
package/main/index.js CHANGED
@@ -90,18 +90,21 @@ class WindowsManager {
90
90
  remote__namespace.enable(window.webContents);
91
91
  window._name = name;
92
92
  window._extraData = `${options?.extraData || ''}`;
93
- const showErrorView = lodash.debounce(() => {
94
- const _url = window.webContents.getURL() || url;
95
- window.webContents.executeJavaScript(`window['__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__'] = "${_url}"`);
96
- window.loadURL(`${errorView?.url}`);
97
- }, 1000 * 2);
98
93
  if (loadingView?.url) {
99
94
  this._setLoadingView(window, options);
100
95
  }
101
96
  if (errorView?.url) {
97
+ const showErrorView = lodash.debounce(() => {
98
+ window.loadURL(`${errorView?.url}`);
99
+ }, 800);
102
100
  window.webContents.on('did-fail-load', () => {
101
+ const _url = window.webContents.getURL() || url;
102
+ window.webContents.executeJavaScript(`sessionStorage.setItem('__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__', "${_url}")`);
103
103
  showErrorView();
104
104
  });
105
+ window.webContents.on('did-start-loading', () => {
106
+ showErrorView.cancel();
107
+ });
105
108
  }
106
109
  window.addListener('close', (event) => {
107
110
  log('log', 'close', window.id, window._name);
@@ -118,7 +121,6 @@ class WindowsManager {
118
121
  this.windows.delete(window.id);
119
122
  });
120
123
  window.webContents.on('dom-ready', () => {
121
- showErrorView.cancel();
122
124
  if (openDevTools) {
123
125
  window.webContents.openDevTools();
124
126
  }
package/main/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/src/main/index.ts"],"sourcesContent":["import lodash from 'lodash'\nimport { app, BrowserWindow, BrowserView, WebContents, BrowserWindowConstructorOptions, session, Session, webContents } from 'electron'\nimport * as remote from '@electron/remote/main'\nimport eIpc from '@lynker-desktop/electron-ipc/main'\nimport type { ElectronWindowsManagerOptions, WindowItem } from '../common';\n\nexport const getCustomSession = (() => {\n let customSession: Session;\n return () => {\n if (!customSession) {\n customSession = session.fromPartition('persist:__global_main_session__');\n }\n return customSession;\n }\n})();\n\napp.on('ready', () => {\n getCustomSession();\n});\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport const enable = (win: WebContents) => {\n remote.enable(win)\n}\n\nexport class WindowsManager {\n loadingViewUrl: string | undefined;\n errorViewUrl: string | undefined;\n preload?: string;\n windows: Map<number, WindowItem | null>;\n constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string) {\n this.preload = preload;\n this.windows = new Map();\n this.loadingViewUrl = `${loadingViewUrl ?? ''}`;\n this.errorViewUrl = `${errorViewUrl ?? ''}`;\n }\n\n create(options: ElectronWindowsManagerOptions) {\n const {\n name = 'anonymous',\n url,\n loadingView = {url: undefined},\n errorView = {url: undefined},\n browserWindow: browserWindowOptions,\n openDevTools = false,\n preventOriginClose = false,\n } = options;\n try {\n loadingView.url = `${loadingView?.url ?? this.loadingViewUrl}`;\n lodash.merge(\n options,\n {\n loadingView,\n }\n )\n } catch (error) {\n log('error', 'loadingView error:', loadingView, this.loadingViewUrl);\n }\n try {\n errorView.url = `${errorView?.url ?? this.errorViewUrl}`;\n lodash.merge(\n options,\n {\n errorView,\n }\n )\n } catch (error) {\n log('error', 'errorView error:', errorView, this.errorViewUrl);\n }\n log('log', 'create', options);\n let parentWin:BrowserWindowConstructorOptions['parent'] = undefined;\n if (typeof browserWindowOptions?.parent === 'number') {\n parentWin = BrowserWindow.fromId(browserWindowOptions?.parent) || undefined;\n if (parentWin) {\n browserWindowOptions.parent = parentWin;\n } else {\n browserWindowOptions.parent = undefined;\n }\n }\n const window = new BrowserWindow(\n lodash.merge(\n {\n acceptFirstMouse: true,\n },\n (browserWindowOptions || {}),\n {\n parent: parentWin,\n webPreferences: {\n // session: getCustomSession(),\n plugins: true,\n nodeIntegration: true,\n contextIsolation: false,\n backgroundThrottling: false,\n nativeWindowOpen: false,\n webSecurity: false,\n preload: browserWindowOptions?.webPreferences?.preload || this.preload,\n }\n },\n )\n ) as WindowItem;\n remote.enable(window.webContents);\n window._name = name;\n window._extraData = `${options?.extraData || ''}`;\n const showErrorView = lodash.debounce(() => {\n const _url = window.webContents.getURL() || url;\n window.webContents.executeJavaScript(`window['__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__'] = \"${_url}\"`);\n window.loadURL(`${errorView?.url}`);\n }, 1000 * 2)\n if (loadingView?.url) {\n this._setLoadingView(window, options);\n }\n if (errorView?.url) {\n window.webContents.on('did-fail-load', () => {\n showErrorView();\n });\n }\n window.addListener('close', (event) => {\n log('log', 'close', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n if (preventOriginClose) {\n event.preventDefault();\n return;\n }\n });\n window.addListener('closed', () => {\n log('log', 'closed', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n });\n window.webContents.on('dom-ready', () => {\n showErrorView.cancel();\n if (openDevTools) {\n window.webContents.openDevTools();\n }\n });\n this.windows.set(window.id, window);\n window.loadURL(options.url);\n window.focus();\n return window;\n }\n\n _setLoadingView(window: WindowItem, createOptions: ElectronWindowsManagerOptions) {\n if (createOptions) {\n const {\n loadingView,\n preventOriginNavigate = false,\n } = createOptions;\n let _loadingView = new BrowserView({\n webPreferences: {\n // session: getCustomSession(),\n contextIsolation: false,\n nodeIntegration: true,\n // 允许loadURL与文件路径在开发环境\n webSecurity: false,\n }\n });\n\n if (window.isDestroyed()) {\n return;\n }\n\n const loadLoadingView = () => {\n const [ viewWidth, viewHeight ] = window.getSize();\n window.setBrowserView(_loadingView);\n _loadingView.setBounds({\n x: 0,\n y: 0,\n width: viewWidth || 10,\n height: viewHeight || 10,\n });\n log('log', 'loadLoadingView', window._name, loadingView);\n _loadingView.webContents.loadURL(loadingView?.url || '')\n };\n\n const onFailure = lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n _loadingView.webContents.close();\n }\n if (window.isDestroyed()) {\n return;\n }\n\n if (window) {\n window.removeBrowserView(_loadingView);\n }\n }, 300);\n\n loadLoadingView();\n\n window.on('resize', lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n if (window.isDestroyed()) {\n return;\n }\n const [ viewWidth, viewHeight ] = window.getSize();\n _loadingView.setBounds({ x: 0, y: 0, width: viewWidth || 10, height: viewHeight || 10 });\n }\n }, 500));\n\n window.webContents.on('will-navigate', (e) => {\n if (preventOriginNavigate) {\n e.preventDefault();\n return;\n }\n if (window.isDestroyed()) {\n return;\n }\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n window.setBrowserView(_loadingView);\n } else {\n // if loadingView has been destroyed\n _loadingView = new BrowserView();\n loadLoadingView();\n }\n });\n window.webContents.on('dom-ready', onFailure);\n window.webContents.on('crashed', onFailure);\n window.webContents.on('unresponsive', onFailure);\n window.webContents.on('did-fail-load', onFailure);\n window.webContents.on('did-finish-load', onFailure);\n window.webContents.on('did-stop-loading', onFailure);\n }\n }\n\n get(idOrName: string | number): WindowItem | undefined {\n log('log', 'get', idOrName);\n let win: WindowItem;\n this.windows.forEach((i, key) => {\n try {\n if (!(i && i?.webContents?.isDestroyed && !i?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n i = null;\n }\n } catch (error) {\n log('error', 'get');\n }\n\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n if (win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.()) {\n return win;\n }\n return undefined;\n }\n\n getAll() {\n log('log', 'getAll');\n this.windows.forEach((win, key) => {\n console.log(key, win);\n if (!(win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n }\n })\n return this.windows;\n }\n\n close(idOrName: string | number) {\n log('log', 'close', idOrName);\n let win: WindowItem | undefined = undefined;\n this.windows.forEach((i) => {\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n win && this.windows.delete(win?.id)\n // @ts-ignore\n return win && win?.destroy();\n }\n\n closeAll() {\n log('log', 'closeAll');\n this.windows.forEach((i) => {\n i && this.windows.delete(i?.id)\n i && i?.destroy();\n })\n }\n\n getPreload() {\n log('log', 'getPreload');\n return this.preload;\n }\n}\n// @ts-ignore\nglobal['__ELECTRON_WINDOWS_MANAGER__'] = undefined;\n\nexport let isInitialized = false;\n\nexport const initialize = (preload?: string, loadingViewUrl?: string, errorViewUrl?: string): WindowsManager => {\n // @ts-ignore\n if (isInitialized && global['__ELECTRON_WINDOWS_MANAGER__']) {\n // @ts-ignore\n return global['__ELECTRON_WINDOWS_MANAGER__'];\n }\n isInitialized = true;\n // @ts-ignore\n const wm = global['__ELECTRON_WINDOWS_MANAGER__'] = new WindowsManager(preload, loadingViewUrl, errorViewUrl)\n eIpc.mainIPC.handleRenderer('__ELECTRON_WINDOW_MANAGER_IPC_CHANNEL__', async (data: any) => {\n if (data?.type === 'create') {\n const opt = data as {\n type: 'create';\n data: ElectronWindowsManagerOptions\n };\n const findWin = wm.get(opt.data.name);\n if (findWin) {\n findWin.focus();\n return {\n winId: Number(`${findWin?.id || - 1}`),\n winName: `${findWin?._name || ''}`,\n winExtraData: `${findWin?._extraData || ''}`,\n };\n }\n const res = wm.create(opt.data)\n return {\n winId: Number(`${res.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n if (data?.type === 'get') {\n const opt = data as {\n type: 'get';\n data: string | number;\n };\n const res = wm.get(opt?.data)\n return {\n winId: Number(`${res?.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n\n if (data?.type === 'getAll') {\n const opt = data as {\n type: 'getAll';\n data: any;\n };\n const res = wm.getAll()\n const obj = {}\n res.forEach(i => {\n // @ts-ignore\n obj[i.id] = {\n winId: Number(`${i?.id || -1}`),\n winName: `${i?._name || ''}`,\n winExtraData: `${i?._extraData || ''}`,\n }\n })\n return obj;\n }\n\n if (data?.type === 'close') {\n const opt = data as {\n type: 'close';\n data: string | number;\n };\n const res = wm.close(opt?.data)\n return res;\n }\n\n if (data?.type === 'closeAll') {\n const opt = data as {\n type: 'closeAll';\n data: undefined;\n };\n const res = wm.closeAll()\n return res;\n }\n\n if (data?.type === 'getWindowForWebContentId') {\n const opt = data as {\n type: 'getWindowForWebContentId';\n data: number;\n };\n const targetWebContents = webContents.fromId(opt.data);\n if (targetWebContents) {\n let win = BrowserWindow.fromWebContents(targetWebContents)\n if (!win) {\n // 获取所有的 BrowserWindows\n let allWindows = BrowserWindow.getAllWindows();\n\n // 遍历所有窗口,检查每个窗口的 BrowserView\n for (let _win of allWindows) {\n let views = _win.getBrowserViews();\n\n // 遍历窗口的所有 BrowserView\n for (let view of views) {\n if (view.webContents === targetWebContents) {\n win = _win;\n break;\n }\n }\n\n if (win) break;\n }\n }\n return win?.id;\n }\n return undefined;\n }\n\n if (data?.type === 'getPreload') {\n const opt = data as {\n type: 'getPreload';\n data: number;\n };\n const res = wm.getPreload()\n return res;\n }\n\n return undefined\n })\n return wm;\n}\n\nconst log = (type: 'log' | 'error', ...data: any[]) => {\n const key = `[electron-window-manager]: `\n try {\n console[type](key, ...data);\n } catch (error) {\n console.error(key, error)\n }\n}\n"],"names":["session","app","remote","BrowserWindow","BrowserView","isInitialized","webContents"],"mappings":";;;;;;;;;;;;;;;;;;AAMa,MAAA,gBAAgB,GAAG,CAAC,MAAK;AACpC,IAAA,IAAI,aAAsB,CAAC;AAC3B,IAAA,OAAO,MAAK;QACV,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,aAAa,GAAGA,gBAAO,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAC;SAC1E;AACD,QAAA,OAAO,aAAa,CAAC;AACvB,KAAC,CAAA;AACH,CAAC,IAAI;AAELC,YAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;AACnB,IAAA,gBAAgB,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAACC,iBAAM,CAAC,aAAa,EAAE,EAAE;IAC3BA,iBAAM,CAAC,UAAU,EAAE,CAAC;AACtB,CAAC;AAEY,MAAA,MAAM,GAAG,CAAC,GAAgB,KAAI;AACzC,IAAAA,iBAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AACpB,EAAC;MAEY,cAAc,CAAA;AAKzB,IAAA,WAAA,CAAY,OAAgB,EAAE,cAAuB,EAAE,YAAqB,EAAA;AAC1E,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,CAAA,EAAG,cAAc,IAAI,EAAE,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,CAAA,EAAG,YAAY,IAAI,EAAE,EAAE,CAAC;KAC7C;AAED,IAAA,MAAM,CAAC,OAAsC,EAAA;AAC3C,QAAA,MAAM,EACJ,IAAI,GAAG,WAAW,EAClB,GAAG,EACH,WAAW,GAAG,EAAC,GAAG,EAAE,SAAS,EAAC,EAC9B,SAAS,GAAG,EAAC,GAAG,EAAE,SAAS,EAAC,EAC5B,aAAa,EAAE,oBAAoB,EACnC,YAAY,GAAG,KAAK,EACpB,kBAAkB,GAAG,KAAK,GAC3B,GAAG,OAAO,CAAC;AACZ,QAAA,IAAI;AACF,YAAA,WAAW,CAAC,GAAG,GAAG,CAAA,EAAG,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,cAAc,CAAA,CAAE,CAAC;AAC/D,YAAA,MAAM,CAAC,KAAK,CACV,OAAO,EACP;gBACE,WAAW;AACZ,aAAA,CACF,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACtE;AACD,QAAA,IAAI;AACF,YAAA,SAAS,CAAC,GAAG,GAAG,CAAA,EAAG,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAA,CAAE,CAAC;AACzD,YAAA,MAAM,CAAC,KAAK,CACV,OAAO,EACP;gBACE,SAAS;AACV,aAAA,CACF,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAChE;AACD,QAAA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,SAAS,GAA6C,SAAS,CAAC;AACpE,QAAA,IAAI,OAAO,oBAAoB,EAAE,MAAM,KAAK,QAAQ,EAAE;YACpD,SAAS,GAAGC,sBAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC;YAC5E,IAAI,SAAS,EAAE;AACb,gBAAA,oBAAoB,CAAC,MAAM,GAAG,SAAS,CAAC;aACzC;iBAAM;AACL,gBAAA,oBAAoB,CAAC,MAAM,GAAG,SAAS,CAAC;aACzC;SACF;QACD,MAAM,MAAM,GAAG,IAAIA,sBAAa,CAC9B,MAAM,CAAC,KAAK,CACV;AACE,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,GACA,oBAAoB,IAAI,EAAE,GAC3B;AACE,YAAA,MAAM,EAAE,SAAS;AACjB,YAAA,cAAc,EAAE;;AAEd,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,oBAAoB,EAAE,KAAK;AAC3B,gBAAA,gBAAgB,EAAE,KAAK;AACvB,gBAAA,WAAW,EAAE,KAAK;gBAClB,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,IAAI,IAAI,CAAC,OAAO;AACvE,aAAA;AACF,SAAA,CACF,CACY,CAAC;AAChB,QAAAD,iBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAClC,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,UAAU,GAAG,CAAG,EAAA,OAAO,EAAE,SAAS,IAAI,EAAE,CAAA,CAAE,CAAC;AAClD,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAK;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC;YAChD,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAA8D,2DAAA,EAAA,IAAI,CAAG,CAAA,CAAA,CAAC,CAAC;YAC5G,MAAM,CAAC,OAAO,CAAC,CAAA,EAAG,SAAS,EAAE,GAAG,CAAE,CAAA,CAAC,CAAC;AACtC,SAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAA;AACZ,QAAA,IAAI,WAAW,EAAE,GAAG,EAAE;AACpB,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC;AACD,QAAA,IAAI,SAAS,EAAE,GAAG,EAAE;YAClB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,MAAK;AAC1C,gBAAA,aAAa,EAAE,CAAC;AAClB,aAAC,CAAC,CAAC;SACJ;QACD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,KAAI;AACpC,YAAA,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,kBAAkB,EAAE;gBACtB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;AACH,SAAC,CAAC,CAAC;AACH,QAAA,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAK;AAChC,YAAA,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAChC,SAAC,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAK;YACtC,aAAa,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,YAAY,EAAE;AAChB,gBAAA,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;aACnC;AACH,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AACpC,QAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;AACf,QAAA,OAAO,MAAM,CAAC;KACf;IAED,eAAe,CAAC,MAAkB,EAAE,aAA4C,EAAA;QAC9E,IAAI,aAAa,EAAE;YACjB,MAAM,EACJ,WAAW,EACX,qBAAqB,GAAG,KAAK,GAC9B,GAAG,aAAa,CAAC;AAClB,YAAA,IAAI,YAAY,GAAG,IAAIE,oBAAW,CAAC;AACjC,gBAAA,cAAc,EAAE;;AAEd,oBAAA,gBAAgB,EAAE,KAAK;AACvB,oBAAA,eAAe,EAAE,IAAI;;AAErB,oBAAA,WAAW,EAAE,KAAK;AACnB,iBAAA;AACF,aAAA,CAAC,CAAC;AAEH,YAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;gBACxB,OAAO;aACR;YAED,MAAM,eAAe,GAAG,MAAK;gBAC3B,MAAM,CAAE,SAAS,EAAE,UAAU,CAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;AACnD,gBAAA,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACpC,YAAY,CAAC,SAAS,CAAC;AACrB,oBAAA,CAAC,EAAE,CAAC;AACJ,oBAAA,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,SAAS,IAAI,EAAE;oBACtB,MAAM,EAAE,UAAU,IAAI,EAAE;AACzB,iBAAA,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACzD,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;AAC1D,aAAC,CAAC;AAEF,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAK;AACrC,gBAAA,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;AACvE,oBAAA,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;iBAClC;AACD,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBACxB,OAAO;iBACR;gBAED,IAAI,MAAM,EAAE;AACV,oBAAA,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;iBACxC;aACF,EAAE,GAAG,CAAC,CAAC;AAER,YAAA,eAAe,EAAE,CAAC;YAElB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAK;AACvC,gBAAA,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;AACvE,oBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;wBACxB,OAAO;qBACR;oBACD,MAAM,CAAE,SAAS,EAAE,UAAU,CAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC;iBAC1F;AACH,aAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAET,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,KAAI;gBAC3C,IAAI,qBAAqB,EAAE;oBACzB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,OAAO;iBACR;AACD,gBAAA,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;oBACxB,OAAO;iBACR;AACD,gBAAA,IAAI,YAAY,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE;AACvE,oBAAA,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;iBACrC;qBAAM;;AAEL,oBAAA,YAAY,GAAG,IAAIA,oBAAW,EAAE,CAAC;AACjC,oBAAA,eAAe,EAAE,CAAC;iBACnB;AACH,aAAC,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACjD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;SACtD;KACF;AAED,IAAA,GAAG,CAAC,QAAyB,EAAA;AAC3B,QAAA,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAI,GAAe,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,KAAI;AAC9B,YAAA,IAAI;gBACF,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE;oBAC3E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3B,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBACxB,CAAC,GAAG,IAAI,CAAC;iBACV;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrB;AAED,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,EAAE,EAAE,KAAK,QAAQ,EAAE;oBACtB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AAAM,iBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACvC,gBAAA,IAAI,CAAC,EAAE,KAAK,KAAK,QAAQ,EAAE;oBACzB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AACH,SAAC,CAAC,CAAA;;AAEF,QAAA,IAAI,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,EAAE;AAC9E,YAAA,OAAO,GAAG,CAAC;SACZ;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,GAAA;AACJ,QAAA,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAI;AAChC,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtB,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC,EAAE;gBACjF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC3B,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACzB;AACH,SAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED,IAAA,KAAK,CAAC,QAAyB,EAAA;AAC7B,QAAA,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9B,IAAI,GAAG,GAA2B,SAAS,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACzB,YAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,gBAAA,IAAI,CAAC,EAAE,EAAE,KAAK,QAAQ,EAAE;oBACtB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AAAM,iBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AACvC,gBAAA,IAAI,CAAC,EAAE,KAAK,KAAK,QAAQ,EAAE;oBACzB,GAAG,GAAG,CAAC,CAAC;iBACT;aACF;AACH,SAAC,CAAC,CAAA;;QAEF,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;;AAEnC,QAAA,OAAO,GAAG,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;KAC9B;IAED,QAAQ,GAAA;AACN,QAAA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACzB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAC/B,YAAA,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AACpB,SAAC,CAAC,CAAA;KACH;IAED,UAAU,GAAA;AACR,QAAA,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AACF,CAAA;AACD;AACA,MAAM,CAAC,8BAA8B,CAAC,GAAG,SAAS,CAAC;AAExCC,qBAAa,GAAG,MAAM;AAEpB,MAAA,UAAU,GAAG,CAAC,OAAgB,EAAE,cAAuB,EAAE,YAAqB,KAAoB;;AAE7G,IAAA,IAAIA,qBAAa,IAAI,MAAM,CAAC,8BAA8B,CAAC,EAAE;;AAE3D,QAAA,OAAO,MAAM,CAAC,8BAA8B,CAAC,CAAC;KAC/C;IACDA,qBAAa,GAAG,IAAI,CAAC;;AAErB,IAAA,MAAM,EAAE,GAAG,MAAM,CAAC,8BAA8B,CAAC,GAAG,IAAI,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;IAC7G,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,yCAAyC,EAAE,OAAO,IAAS,KAAI;AACzF,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE;YAC3B,MAAM,GAAG,GAAG,IAGX,CAAC;AACF,YAAA,MAAM,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,KAAK,EAAE,CAAC;gBAChB,OAAO;oBACL,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,OAAO,EAAE,EAAE,IAAI,CAAE,CAAC,CAAA,CAAE,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAG,EAAA,OAAO,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAClC,oBAAA,YAAY,EAAE,CAAG,EAAA,OAAO,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;iBAC7C,CAAC;aACH;YACD,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC/B,OAAO;gBACL,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE,CAAC;AAChC,gBAAA,OAAO,EAAE,CAAG,EAAA,GAAG,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAC9B,gBAAA,YAAY,EAAE,CAAG,EAAA,GAAG,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;aACzC,CAAC;SACH;AACD,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,EAAE;YACxB,MAAM,GAAG,GAAG,IAGX,CAAC;YACF,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC7B,OAAQ;gBACN,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE,CAAC;AACjC,gBAAA,OAAO,EAAE,CAAG,EAAA,GAAG,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAC9B,gBAAA,YAAY,EAAE,CAAG,EAAA,GAAG,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;aACzC,CAAC;SACH;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE;AAK3B,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;YACvB,MAAM,GAAG,GAAG,EAAE,CAAA;AACd,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,IAAG;;AAEd,gBAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG;oBACV,KAAK,EAAE,MAAM,CAAC,CAAG,EAAA,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE,CAAC;AAC/B,oBAAA,OAAO,EAAG,CAAG,EAAA,CAAC,EAAE,KAAK,IAAI,EAAE,CAAE,CAAA;AAC7B,oBAAA,YAAY,EAAE,CAAG,EAAA,CAAC,EAAE,UAAU,IAAI,EAAE,CAAE,CAAA;iBACvC,CAAA;AACH,aAAC,CAAC,CAAA;AACF,YAAA,OAAO,GAAG,CAAC;SACZ;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,EAAE;YAC1B,MAAM,GAAG,GAAG,IAGX,CAAC;YACF,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC/B,YAAA,OAAQ,GAAG,CAAC;SACb;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,UAAU,EAAE;AAK7B,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;AACzB,YAAA,OAAO,GAAG,CAAC;SACZ;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,0BAA0B,EAAE;YAC7C,MAAM,GAAG,GAAG,IAGX,CAAC;YACF,MAAM,iBAAiB,GAAGC,oBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,iBAAiB,EAAE;gBACrB,IAAI,GAAG,GAAGH,sBAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;gBAC1D,IAAI,CAAC,GAAG,EAAE;;AAER,oBAAA,IAAI,UAAU,GAAGA,sBAAa,CAAC,aAAa,EAAE,CAAC;;AAG/C,oBAAA,KAAK,IAAI,IAAI,IAAI,UAAU,EAAE;AAC3B,wBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;;AAGnC,wBAAA,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;AACtB,4BAAA,IAAI,IAAI,CAAC,WAAW,KAAK,iBAAiB,EAAE;gCAC1C,GAAG,GAAG,IAAI,CAAC;gCACX,MAAM;6BACP;yBACF;AAED,wBAAA,IAAI,GAAG;4BAAE,MAAM;qBAChB;iBACF;gBACD,OAAO,GAAG,EAAE,EAAE,CAAC;aAChB;AACD,YAAA,OAAO,SAAS,CAAC;SAClB;AAED,QAAA,IAAI,IAAI,EAAE,IAAI,KAAK,YAAY,EAAE;AAK/B,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAA;AAC3B,YAAA,OAAO,GAAG,CAAC;SACZ;AAED,QAAA,OAAO,SAAS,CAAA;AAClB,KAAC,CAAC,CAAA;AACF,IAAA,OAAO,EAAE,CAAC;AACZ,EAAC;AAED,MAAM,GAAG,GAAG,CAAC,IAAqB,EAAE,GAAG,IAAW,KAAI;IACpD,MAAM,GAAG,GAAG,CAAA,2BAAA,CAA6B,CAAA;AACzC,IAAA,IAAI;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;KAC7B;IAAC,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KAC1B;AACH,CAAC;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/src/main/index.ts"],"sourcesContent":["import lodash from 'lodash'\nimport { app, BrowserWindow, BrowserView, WebContents, BrowserWindowConstructorOptions, session, Session, webContents } from 'electron'\nimport * as remote from '@electron/remote/main'\nimport eIpc from '@lynker-desktop/electron-ipc/main'\nimport type { ElectronWindowsManagerOptions, WindowItem } from '../common';\n\nexport const getCustomSession = (() => {\n let customSession: Session;\n return () => {\n if (!customSession) {\n customSession = session.fromPartition('persist:__global_main_session__');\n }\n return customSession;\n }\n})();\n\napp.on('ready', () => {\n getCustomSession();\n});\n\nif (!remote.isInitialized()) {\n remote.initialize();\n}\n\nexport const enable = (win: WebContents) => {\n remote.enable(win)\n}\n\nexport class WindowsManager {\n loadingViewUrl: string | undefined;\n errorViewUrl: string | undefined;\n preload?: string;\n windows: Map<number, WindowItem | null>;\n constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string) {\n this.preload = preload;\n this.windows = new Map();\n this.loadingViewUrl = `${loadingViewUrl ?? ''}`;\n this.errorViewUrl = `${errorViewUrl ?? ''}`;\n }\n\n create(options: ElectronWindowsManagerOptions) {\n const {\n name = 'anonymous',\n url,\n loadingView = {url: undefined},\n errorView = {url: undefined},\n browserWindow: browserWindowOptions,\n openDevTools = false,\n preventOriginClose = false,\n } = options;\n try {\n loadingView.url = `${loadingView?.url ?? this.loadingViewUrl}`;\n lodash.merge(\n options,\n {\n loadingView,\n }\n )\n } catch (error) {\n log('error', 'loadingView error:', loadingView, this.loadingViewUrl);\n }\n try {\n errorView.url = `${errorView?.url ?? this.errorViewUrl}`;\n lodash.merge(\n options,\n {\n errorView,\n }\n )\n } catch (error) {\n log('error', 'errorView error:', errorView, this.errorViewUrl);\n }\n log('log', 'create', options);\n let parentWin:BrowserWindowConstructorOptions['parent'] = undefined;\n if (typeof browserWindowOptions?.parent === 'number') {\n parentWin = BrowserWindow.fromId(browserWindowOptions?.parent) || undefined;\n if (parentWin) {\n browserWindowOptions.parent = parentWin;\n } else {\n browserWindowOptions.parent = undefined;\n }\n }\n const window = new BrowserWindow(\n lodash.merge(\n {\n acceptFirstMouse: true,\n },\n (browserWindowOptions || {}),\n {\n parent: parentWin,\n webPreferences: {\n // session: getCustomSession(),\n plugins: true,\n nodeIntegration: true,\n contextIsolation: false,\n backgroundThrottling: false,\n nativeWindowOpen: false,\n webSecurity: false,\n preload: browserWindowOptions?.webPreferences?.preload || this.preload,\n }\n },\n )\n ) as WindowItem;\n remote.enable(window.webContents);\n window._name = name;\n window._extraData = `${options?.extraData || ''}`;\n\n if (loadingView?.url) {\n this._setLoadingView(window, options);\n }\n if (errorView?.url) {\n const showErrorView = lodash.debounce(() => {\n window.loadURL(`${errorView?.url}`);\n }, 800);\n window.webContents.on('did-fail-load', () => {\n const _url = window.webContents.getURL() || url;\n window.webContents.executeJavaScript(`sessionStorage.setItem('__ELECTRON_WINDOW_MANAGER_DID_FAIL_LOAD_URL__', \"${_url}\")`);\n showErrorView();\n });\n window.webContents.on('did-start-loading', () => {\n showErrorView.cancel();\n });\n }\n window.addListener('close', (event) => {\n log('log', 'close', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n if (preventOriginClose) {\n event.preventDefault();\n return;\n }\n });\n window.addListener('closed', () => {\n log('log', 'closed', window.id, window._name);\n this.windows.set(window.id, null)\n this.windows.delete(window.id)\n });\n window.webContents.on('dom-ready', () => {\n if (openDevTools) {\n window.webContents.openDevTools();\n }\n });\n this.windows.set(window.id, window);\n window.loadURL(options.url);\n window.focus();\n return window;\n }\n\n _setLoadingView(window: WindowItem, createOptions: ElectronWindowsManagerOptions) {\n if (createOptions) {\n const {\n loadingView,\n preventOriginNavigate = false,\n } = createOptions;\n let _loadingView = new BrowserView({\n webPreferences: {\n // session: getCustomSession(),\n contextIsolation: false,\n nodeIntegration: true,\n // 允许loadURL与文件路径在开发环境\n webSecurity: false,\n }\n });\n\n if (window.isDestroyed()) {\n return;\n }\n\n const loadLoadingView = () => {\n const [ viewWidth, viewHeight ] = window.getSize();\n window.setBrowserView(_loadingView);\n _loadingView.setBounds({\n x: 0,\n y: 0,\n width: viewWidth || 10,\n height: viewHeight || 10,\n });\n log('log', 'loadLoadingView', window._name, loadingView);\n _loadingView.webContents.loadURL(loadingView?.url || '')\n };\n\n const onFailure = lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n _loadingView.webContents.close();\n }\n if (window.isDestroyed()) {\n return;\n }\n\n if (window) {\n window.removeBrowserView(_loadingView);\n }\n }, 300);\n\n loadLoadingView();\n\n window.on('resize', lodash.debounce(() => {\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n if (window.isDestroyed()) {\n return;\n }\n const [ viewWidth, viewHeight ] = window.getSize();\n _loadingView.setBounds({ x: 0, y: 0, width: viewWidth || 10, height: viewHeight || 10 });\n }\n }, 500));\n\n window.webContents.on('will-navigate', (e) => {\n if (preventOriginNavigate) {\n e.preventDefault();\n return;\n }\n if (window.isDestroyed()) {\n return;\n }\n if (_loadingView.webContents && !_loadingView.webContents.isDestroyed()) {\n window.setBrowserView(_loadingView);\n } else {\n // if loadingView has been destroyed\n _loadingView = new BrowserView();\n loadLoadingView();\n }\n });\n window.webContents.on('dom-ready', onFailure);\n window.webContents.on('crashed', onFailure);\n window.webContents.on('unresponsive', onFailure);\n window.webContents.on('did-fail-load', onFailure);\n window.webContents.on('did-finish-load', onFailure);\n window.webContents.on('did-stop-loading', onFailure);\n }\n }\n\n get(idOrName: string | number): WindowItem | undefined {\n log('log', 'get', idOrName);\n let win: WindowItem;\n this.windows.forEach((i, key) => {\n try {\n if (!(i && i?.webContents?.isDestroyed && !i?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n i = null;\n }\n } catch (error) {\n log('error', 'get');\n }\n\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n if (win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.()) {\n return win;\n }\n return undefined;\n }\n\n getAll() {\n log('log', 'getAll');\n this.windows.forEach((win, key) => {\n console.log(key, win);\n if (!(win && win?.webContents?.isDestroyed && !win?.webContents?.isDestroyed?.())) {\n this.windows.set(key, null)\n this.windows.delete(key)\n }\n })\n return this.windows;\n }\n\n close(idOrName: string | number) {\n log('log', 'close', idOrName);\n let win: WindowItem | undefined = undefined;\n this.windows.forEach((i) => {\n if (typeof idOrName === 'number') {\n if (i?.id === idOrName) {\n win = i;\n }\n } else if (typeof idOrName === 'string') {\n if (i?._name === idOrName) {\n win = i;\n }\n }\n })\n // @ts-ignore\n win && this.windows.delete(win?.id)\n // @ts-ignore\n return win && win?.destroy();\n }\n\n closeAll() {\n log('log', 'closeAll');\n this.windows.forEach((i) => {\n i && this.windows.delete(i?.id)\n i && i?.destroy();\n })\n }\n\n getPreload() {\n log('log', 'getPreload');\n return this.preload;\n }\n}\n// @ts-ignore\nglobal['__ELECTRON_WINDOWS_MANAGER__'] = undefined;\n\nexport let isInitialized = false;\n\nexport const initialize = (preload?: string, loadingViewUrl?: string, errorViewUrl?: string): WindowsManager => {\n // @ts-ignore\n if (isInitialized && global['__ELECTRON_WINDOWS_MANAGER__']) {\n // @ts-ignore\n return global['__ELECTRON_WINDOWS_MANAGER__'];\n }\n isInitialized = true;\n // @ts-ignore\n const wm = global['__ELECTRON_WINDOWS_MANAGER__'] = new WindowsManager(preload, loadingViewUrl, errorViewUrl)\n eIpc.mainIPC.handleRenderer('__ELECTRON_WINDOW_MANAGER_IPC_CHANNEL__', async (data: any) => {\n if (data?.type === 'create') {\n const opt = data as {\n type: 'create';\n data: ElectronWindowsManagerOptions\n };\n const findWin = wm.get(opt.data.name);\n if (findWin) {\n findWin.focus();\n return {\n winId: Number(`${findWin?.id || - 1}`),\n winName: `${findWin?._name || ''}`,\n winExtraData: `${findWin?._extraData || ''}`,\n };\n }\n const res = wm.create(opt.data)\n return {\n winId: Number(`${res.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n if (data?.type === 'get') {\n const opt = data as {\n type: 'get';\n data: string | number;\n };\n const res = wm.get(opt?.data)\n return {\n winId: Number(`${res?.id || -1}`),\n winName: `${res?._name || ''}`,\n winExtraData: `${res?._extraData || ''}`,\n };\n }\n\n if (data?.type === 'getAll') {\n const opt = data as {\n type: 'getAll';\n data: any;\n };\n const res = wm.getAll()\n const obj = {}\n res.forEach(i => {\n // @ts-ignore\n obj[i.id] = {\n winId: Number(`${i?.id || -1}`),\n winName: `${i?._name || ''}`,\n winExtraData: `${i?._extraData || ''}`,\n }\n })\n return obj;\n }\n\n if (data?.type === 'close') {\n const opt = data as {\n type: 'close';\n data: string | number;\n };\n const res = wm.close(opt?.data)\n return res;\n }\n\n if (data?.type === 'closeAll') {\n const opt = data as {\n type: 'closeAll';\n data: undefined;\n };\n const res = wm.closeAll()\n return res;\n }\n\n if (data?.type === 'getWindowForWebContentId') {\n const opt = data as {\n type: 'getWindowForWebContentId';\n data: number;\n };\n const targetWebContents = webContents.fromId(opt.data);\n if (targetWebContents) {\n let win = BrowserWindow.fromWebContents(targetWebContents)\n if (!win) {\n // 获取所有的 BrowserWindows\n let allWindows = BrowserWindow.getAllWindows();\n\n // 遍历所有窗口,检查每个窗口的 BrowserView\n for (let _win of allWindows) {\n let views = _win.getBrowserViews();\n\n // 遍历窗口的所有 BrowserView\n for (let view of views) {\n if (view.webContents === targetWebContents) {\n win = _win;\n break;\n }\n }\n\n if (win) break;\n }\n }\n return win?.id;\n }\n return undefined;\n }\n\n if (data?.type === 'getPreload') {\n const opt = data as {\n type: 'getPreload';\n data: number;\n };\n const res = wm.getPreload()\n return res;\n }\n\n return undefined\n })\n return wm;\n}\n\nconst log = (type: 'log' | 'error', ...data: any[]) => {\n const key = `[electron-window-manager]: `\n try {\n console[type](key, ...data);\n } catch (error) {\n console.error(key, error)\n }\n}\n"],"names":["session","app","remote","BrowserWindow","BrowserView","isInitialized","webContents"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynker-desktop/electron-window-manager",
3
- "version": "0.0.4-alpha.60",
3
+ "version": "0.0.4-alpha.62",
4
4
  "description": "electron-window-manager",
5
5
  "keywords": [
6
6
  "electron",
@@ -77,5 +77,5 @@
77
77
  "tslib": "^2.6.3",
78
78
  "typescript": "^5.5.3"
79
79
  },
80
- "gitHead": "647345a6cf8603a11d630ee24445207e5b465901"
80
+ "gitHead": "7661edbe137d4d4c50ab4807583c3fef9554acbc"
81
81
  }