@lynker-desktop/electron-ipc 0.0.4-alpha.25 → 0.0.4-alpha.26

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.
package/common/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { BrowserWindow } from 'electron';
2
+ export declare const WINDOWL_GLOBAL_KEY = "__ELECTRON_IPC__";
2
3
  declare global {
3
4
  interface Window {
4
5
  __ELECTRON_WINDOW_MANAGER__?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,aAAa;AACb,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,GAAG;IAClB,YAAY;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACZ,WAAW;IACZ,KAAK,EAAE,MAAM,CAAC;IACb,gBAAgB;IACjB,OAAO,EAAE,MAAM,CAAC;IACf,cAAc;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAGrD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,aAAa;AACb,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,GAAG;IAClB,YAAY;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACZ,WAAW;IACZ,KAAK,EAAE,MAAM,CAAC;IACb,gBAAgB;IACjB,OAAO,EAAE,MAAM,CAAC;IACf,cAAc;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,4 @@
1
+ const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;
2
+
3
+ exports.WINDOWL_GLOBAL_KEY = WINDOWL_GLOBAL_KEY;
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/src/common/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n"],"names":[],"mappings":"AAEO,MAAM,kBAAkB,GAAG;;;;"}
@@ -1,4 +1,5 @@
1
1
  import type { BrowserWindow } from 'electron';
2
+ export declare const WINDOWL_GLOBAL_KEY = "__ELECTRON_IPC__";
2
3
  declare global {
3
4
  interface Window {
4
5
  __ELECTRON_WINDOW_MANAGER__?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,aAAa;AACb,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,GAAG;IAClB,YAAY;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACZ,WAAW;IACZ,KAAK,EAAE,MAAM,CAAC;IACb,gBAAgB;IACjB,OAAO,EAAE,MAAM,CAAC;IACf,cAAc;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AAGrD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,aAAa;AACb,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,GAAG;IAClB,YAAY;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,IAAI,EAAE,MAAM,CAAC;IACZ,WAAW;IACZ,KAAK,EAAE,MAAM,CAAC;IACb,gBAAgB;IACjB,OAAO,EAAE,MAAM,CAAC;IACf,cAAc;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,aAAa;IAC/C,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,4 @@
1
+ const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;
2
+
3
+ export { WINDOWL_GLOBAL_KEY };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/common/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n"],"names":[],"mappings":"AAEO,MAAM,kBAAkB,GAAG;;;;"}
@@ -1,18 +1,20 @@
1
1
  import { ipcRenderer, contextBridge } from 'electron';
2
2
 
3
+ const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;
4
+
3
5
  // @ts-ignore
4
- if (window.__ELECTRON_IPC__) {
6
+ if (window[WINDOWL_GLOBAL_KEY]) {
5
7
  // eslint-disable-next-line no-console
6
8
  console.log('electron-ipc Electron preload has already been run');
7
9
  }
8
10
  else {
9
11
  // @ts-ignore
10
- window.__ELECTRON_IPC__ = ipcRenderer;
12
+ window[WINDOWL_GLOBAL_KEY] = ipcRenderer;
11
13
  if (contextBridge) {
12
14
  // This will fail if contextIsolation is not enabled
13
15
  try {
14
16
  // @ts-ignore
15
- contextBridge.exposeInMainWorld('__ELECTRON_IPC__', ipcRenderer);
17
+ contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, ipcRenderer);
16
18
  }
17
19
  catch (e) {
18
20
  // console.error(e)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/src/preload/index.ts"],"sourcesContent":["import { ipcRenderer, contextBridge } from 'electron';\n\n// @ts-ignore\nif (window.__ELECTRON_IPC__) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window.__ELECTRON_IPC__ = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld('__ELECTRON_IPC__', ipcRenderer);\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":[],"mappings":";;AAEA;AACA,IAAI,MAAM,CAAC,gBAAgB,EAAE;;AAE3B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACtC,IAAI,aAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAA,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;SAClE;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;AACH"}
1
+ {"version":3,"file":"index.js","sources":["../../src/src/common/index.ts","../../src/src/preload/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n","import { ipcRenderer, contextBridge } from 'electron';\nimport { WINDOWL_GLOBAL_KEY } from '../common';\n\n// @ts-ignore\nif (window[WINDOWL_GLOBAL_KEY]) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window[WINDOWL_GLOBAL_KEY] = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, ipcRenderer);\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":[],"mappings":";;AAEO,MAAM,kBAAkB,GAAG,kBAAkB;;ACCpD;AACA,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;;AAE9B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC;IACzC,IAAI,aAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAA,aAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;SAClE;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;AACH"}
@@ -1,4 +1,5 @@
1
1
  import type { IpcRenderer } from 'electron';
2
+ export { WINDOWL_GLOBAL_KEY } from '../common';
2
3
  export declare const getIpc: () => IpcRenderer;
3
4
  export declare class RendererIPC {
4
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAA;AAC7D,eAAO,MAAM,MAAM,QAAO,WAQzB,CAAA;AAED,qBAAa,WAAW;IACtB;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQnE;;;;;OAKG;WACS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGrE;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM/E;;;;OAIG;IACJ,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM3E;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE;;;;;;OAMG;IACJ,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASlG;;;;OAIG;IACJ,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAOnF;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAO/E;;OAEG;WACU,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;CASvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,eAAO,MAAM,MAAM,QAAO,WAQzB,CAAA;AAED,qBAAa,WAAW;IACtB;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQnE;;;;;OAKG;WACS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGrE;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM/E;;;;OAIG;IACJ,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM3E;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE;;;;;;OAMG;IACJ,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASlG;;;;OAIG;IACJ,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAOnF;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAO/E;;OAEG;WACU,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;CASvD"}
@@ -1,10 +1,12 @@
1
+ export { WINDOWL_GLOBAL_KEY } from '../common/index.js';
2
+
1
3
  const getIpc = () => {
2
4
  try {
3
5
  // @ts-ignore
4
6
  return window.__ELECTRON_IPC__ || window?.require('electron').ipcRenderer;
5
7
  }
6
8
  catch (error) {
7
- console.error('getIpc error: ', error);
9
+ console.error('当前非桌面端环境, 请在桌面端中调用');
8
10
  return {};
9
11
  }
10
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/renderer/index.ts"],"sourcesContent":["import type { IpcRenderer, IpcRendererEvent } from 'electron'\nexport const getIpc = (): IpcRenderer => {\n try {\n // @ts-ignore\n return window.__ELECTRON_IPC__ || window?.require('electron').ipcRenderer\n } catch (error) {\n console.error('getIpc error: ', error)\n return {} as IpcRenderer;\n }\n}\n\nexport class RendererIPC {\n /**\n * 发送一次性给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeMainOnce(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel, ...args)\n\t\t})\n\t}\n /**\n * 发送给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic async invokeMain(channel: string, ...args: any[]): Promise<any> {\n\t\treturn await getIpc().invoke(channel, ...args)\n\t}\n /**\n * 处理一次性主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMainOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 处理主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMain(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 发送给渲染进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRenderer(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { channel, args })\n\t\t})\n\t}\n\n /**\n * 发送给指定渲染进程消息\n * @param targetWindowId\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRendererByWinId(targetWindowId: number, channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { targetWindowId, channel, args })\n\t\t})\n\t}\n\n /**\n * 处理一次性渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRendererOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 处理渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRenderer(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 获取当前渲染进程id\n */\n static async getCurrentWebContentId(): Promise<number> {\n return new Promise(resolve => {\n const channel = `__GetCurrentWebContentId__`\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel)\n\t\t})\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/renderer/index.ts"],"sourcesContent":["import type { IpcRenderer, IpcRendererEvent } from 'electron'\n\nexport { WINDOWL_GLOBAL_KEY } from '../common'\n\nexport const getIpc = (): IpcRenderer => {\n try {\n // @ts-ignore\n return window.__ELECTRON_IPC__ || window?.require('electron').ipcRenderer\n } catch (error) {\n console.error('当前非桌面端环境, 请在桌面端中调用');\n return {} as IpcRenderer;\n }\n}\n\nexport class RendererIPC {\n /**\n * 发送一次性给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeMainOnce(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel, ...args)\n\t\t})\n\t}\n /**\n * 发送给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic async invokeMain(channel: string, ...args: any[]): Promise<any> {\n\t\treturn await getIpc().invoke(channel, ...args)\n\t}\n /**\n * 处理一次性主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMainOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 处理主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMain(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 发送给渲染进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRenderer(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { channel, args })\n\t\t})\n\t}\n\n /**\n * 发送给指定渲染进程消息\n * @param targetWindowId\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRendererByWinId(targetWindowId: number, channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { targetWindowId, channel, args })\n\t\t})\n\t}\n\n /**\n * 处理一次性渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRendererOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 处理渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRenderer(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 获取当前渲染进程id\n */\n static async getCurrentWebContentId(): Promise<number> {\n return new Promise(resolve => {\n const channel = `__GetCurrentWebContentId__`\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel)\n\t\t})\n }\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynker-desktop/electron-ipc",
3
- "version": "0.0.4-alpha.25",
3
+ "version": "0.0.4-alpha.26",
4
4
  "description": "electron-ipc",
5
5
  "keywords": [
6
6
  "electron",
@@ -73,5 +73,5 @@
73
73
  "tslib": "^2.6.3",
74
74
  "typescript": "^5.5.3"
75
75
  },
76
- "gitHead": "aea2b01bdf07cbe119c5bca57450f2cbde81a6e0"
76
+ "gitHead": "fc0818f2f049e030d61175c0fbf3e1d40f3e92b2"
77
77
  }
package/preload/index.js CHANGED
@@ -1,18 +1,20 @@
1
1
  const electron = require('electron');
2
2
 
3
+ const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;
4
+
3
5
  // @ts-ignore
4
- if (window.__ELECTRON_IPC__) {
6
+ if (window[WINDOWL_GLOBAL_KEY]) {
5
7
  // eslint-disable-next-line no-console
6
8
  console.log('electron-ipc Electron preload has already been run');
7
9
  }
8
10
  else {
9
11
  // @ts-ignore
10
- window.__ELECTRON_IPC__ = electron.ipcRenderer;
12
+ window[WINDOWL_GLOBAL_KEY] = electron.ipcRenderer;
11
13
  if (electron.contextBridge) {
12
14
  // This will fail if contextIsolation is not enabled
13
15
  try {
14
16
  // @ts-ignore
15
- electron.contextBridge.exposeInMainWorld('__ELECTRON_IPC__', electron.ipcRenderer);
17
+ electron.contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, electron.ipcRenderer);
16
18
  }
17
19
  catch (e) {
18
20
  // console.error(e)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/src/preload/index.ts"],"sourcesContent":["import { ipcRenderer, contextBridge } from 'electron';\n\n// @ts-ignore\nif (window.__ELECTRON_IPC__) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window.__ELECTRON_IPC__ = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld('__ELECTRON_IPC__', ipcRenderer);\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":["ipcRenderer","contextBridge"],"mappings":";;AAEA;AACA,IAAI,MAAM,CAAC,gBAAgB,EAAE;;AAE3B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,gBAAgB,GAAGA,oBAAW,CAAC;IACtC,IAAIC,sBAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAAA,sBAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAED,oBAAW,CAAC,CAAC;SAClE;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;AACH;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/src/common/index.ts","../src/src/preload/index.ts"],"sourcesContent":["import type { BrowserWindow } from 'electron';\n\nexport const WINDOWL_GLOBAL_KEY = `__ELECTRON_IPC__`;\n\n// @ts-ignore\ndeclare global {\n interface Window {\n __ELECTRON_WINDOW_MANAGER__?: any;\n }\n}\n\n/** Tab ID */\nexport type TabID = number;\n\nexport interface Tab {\n /** 标签URL */\n url: string;\n /** 标签href */\n href: string;\n /** 标签标题 */\n title: string;\n /** 标签favicon */\n favicon: string;\n /** loading */\n isLoading: boolean;\n /** 是否可返回上一页 */\n canGoBack: boolean;\n canGoForward: boolean;\n}\n\nexport interface Tabs {\n [key: number]: Tab;\n}\n\nexport interface ElectronWindowsManagerOptions {\n name: string;\n loadingView?: {\n url: string;\n };\n browserWindow?: any;\n openDevTools?: boolean;\n preventOriginClose?: boolean;\n preventOriginNavigate?: boolean;\n}\n\nexport interface WindowItem extends BrowserWindow {\n /** BW别名 */\n _name: string;\n}\n","import { ipcRenderer, contextBridge } from 'electron';\nimport { WINDOWL_GLOBAL_KEY } from '../common';\n\n// @ts-ignore\nif (window[WINDOWL_GLOBAL_KEY]) {\n // eslint-disable-next-line no-console\n console.log('electron-ipc Electron preload has already been run');\n} else {\n // @ts-ignore\n window[WINDOWL_GLOBAL_KEY] = ipcRenderer;\n if (contextBridge) {\n // This will fail if contextIsolation is not enabled\n try {\n // @ts-ignore\n contextBridge.exposeInMainWorld(WINDOWL_GLOBAL_KEY, ipcRenderer);\n } catch (e) {\n // console.error(e)\n }\n }\n}\n"],"names":["ipcRenderer","contextBridge"],"mappings":";;AAEO,MAAM,kBAAkB,GAAG,kBAAkB;;ACCpD;AACA,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE;;AAE9B,IAAA,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;AACpE,CAAC;KAAM;;AAEL,IAAA,MAAM,CAAC,kBAAkB,CAAC,GAAGA,oBAAW,CAAC;IACzC,IAAIC,sBAAa,EAAE;;AAEjB,QAAA,IAAI;;AAEF,YAAAA,sBAAa,CAAC,iBAAiB,CAAC,kBAAkB,EAAED,oBAAW,CAAC,CAAC;SAClE;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;AACH;;"}
@@ -1,4 +1,5 @@
1
1
  import type { IpcRenderer } from 'electron';
2
+ export { WINDOWL_GLOBAL_KEY } from '../common';
2
3
  export declare const getIpc: () => IpcRenderer;
3
4
  export declare class RendererIPC {
4
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAA;AAC7D,eAAO,MAAM,MAAM,QAAO,WAQzB,CAAA;AAED,qBAAa,WAAW;IACtB;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQnE;;;;;OAKG;WACS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGrE;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM/E;;;;OAIG;IACJ,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM3E;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE;;;;;;OAMG;IACJ,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASlG;;;;OAIG;IACJ,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAOnF;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAO/E;;OAEG;WACU,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;CASvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,UAAU,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,eAAO,MAAM,MAAM,QAAO,WAQzB,CAAA;AAED,qBAAa,WAAW;IACtB;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAQnE;;;;;OAKG;WACS,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAGrE;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM/E;;;;OAIG;IACJ,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAM3E;;;;;OAKG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASnE;;;;;;OAMG;IACJ,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IASlG;;;;OAIG;IACJ,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAOnF;;;;OAIG;IACJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC;IAO/E;;OAEG;WACU,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;CASvD"}
package/renderer/index.js CHANGED
@@ -1,10 +1,12 @@
1
+ const index = require('../common/index.js');
2
+
1
3
  const getIpc = () => {
2
4
  try {
3
5
  // @ts-ignore
4
6
  return window.__ELECTRON_IPC__ || window?.require('electron').ipcRenderer;
5
7
  }
6
8
  catch (error) {
7
- console.error('getIpc error: ', error);
9
+ console.error('当前非桌面端环境, 请在桌面端中调用');
8
10
  return {};
9
11
  }
10
12
  };
@@ -119,6 +121,7 @@ class RendererIPC {
119
121
  }
120
122
  }
121
123
 
124
+ exports.WINDOWL_GLOBAL_KEY = index.WINDOWL_GLOBAL_KEY;
122
125
  exports.RendererIPC = RendererIPC;
123
126
  exports.getIpc = getIpc;
124
127
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/src/renderer/index.ts"],"sourcesContent":["import type { IpcRenderer, IpcRendererEvent } from 'electron'\nexport const getIpc = (): IpcRenderer => {\n try {\n // @ts-ignore\n return window.__ELECTRON_IPC__ || window?.require('electron').ipcRenderer\n } catch (error) {\n console.error('getIpc error: ', error)\n return {} as IpcRenderer;\n }\n}\n\nexport class RendererIPC {\n /**\n * 发送一次性给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeMainOnce(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel, ...args)\n\t\t})\n\t}\n /**\n * 发送给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic async invokeMain(channel: string, ...args: any[]): Promise<any> {\n\t\treturn await getIpc().invoke(channel, ...args)\n\t}\n /**\n * 处理一次性主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMainOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 处理主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMain(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 发送给渲染进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRenderer(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { channel, args })\n\t\t})\n\t}\n\n /**\n * 发送给指定渲染进程消息\n * @param targetWindowId\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRendererByWinId(targetWindowId: number, channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { targetWindowId, channel, args })\n\t\t})\n\t}\n\n /**\n * 处理一次性渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRendererOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 处理渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRenderer(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 获取当前渲染进程id\n */\n static async getCurrentWebContentId(): Promise<number> {\n return new Promise(resolve => {\n const channel = `__GetCurrentWebContentId__`\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel)\n\t\t})\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/src/renderer/index.ts"],"sourcesContent":["import type { IpcRenderer, IpcRendererEvent } from 'electron'\n\nexport { WINDOWL_GLOBAL_KEY } from '../common'\n\nexport const getIpc = (): IpcRenderer => {\n try {\n // @ts-ignore\n return window.__ELECTRON_IPC__ || window?.require('electron').ipcRenderer\n } catch (error) {\n console.error('当前非桌面端环境, 请在桌面端中调用');\n return {} as IpcRenderer;\n }\n}\n\nexport class RendererIPC {\n /**\n * 发送一次性给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeMainOnce(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel, ...args)\n\t\t})\n\t}\n /**\n * 发送给主进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic async invokeMain(channel: string, ...args: any[]): Promise<any> {\n\t\treturn await getIpc().invoke(channel, ...args)\n\t}\n /**\n * 处理一次性主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMainOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 处理主进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleMain(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send(`${channel}-reply`, result)\n\t\t})\n\t}\n /**\n * 发送给渲染进程消息\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRenderer(channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { channel, args })\n\t\t})\n\t}\n\n /**\n * 发送给指定渲染进程消息\n * @param targetWindowId\n * @param channel\n * @param args\n * @returns\n */\n\tstatic invokeRendererByWinId(targetWindowId: number, channel: string, ...args: any[]): Promise<any> {\n\t\treturn new Promise(resolve => {\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send('relay-message', { targetWindowId, channel, args })\n\t\t})\n\t}\n\n /**\n * 处理一次性渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRendererOnce(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().once(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 处理渲染进程发送过来的消息\n * @param channel\n * @param handler\n */\n\tstatic handleRenderer(channel: string, handler: (...args: any[]) => Promise<any>) {\n\t\tgetIpc().on(channel, async (_event: IpcRendererEvent, ...args: any[]) => {\n\t\t\tconst result = await handler(...args)\n\t\t\tgetIpc().send('relay-reply', { originalChannel: channel, result })\n\t\t})\n\t}\n\n /**\n * 获取当前渲染进程id\n */\n static async getCurrentWebContentId(): Promise<number> {\n return new Promise(resolve => {\n const channel = `__GetCurrentWebContentId__`\n\t\t\tgetIpc().once(`${channel}-reply`, (_event: IpcRendererEvent, result: any) => {\n\t\t\t\tresolve(result)\n\t\t\t})\n\t\t\tgetIpc().send(channel)\n\t\t})\n }\n}\n"],"names":[],"mappings":"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"}