@lynker-desktop/electron-window-manager 0.0.9-alpha.10 → 0.0.9-alpha.11

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
@@ -57,5 +57,20 @@ export interface BVItem extends BrowserView {
57
57
  /** 初始化url */
58
58
  _initUrl?: string;
59
59
  }
60
+ /**
61
+ * 预加载配置接口
62
+ */
63
+ export interface PreloadWebContentsConfig {
64
+ /** 预加载的 URL */
65
+ url: string;
66
+ /** 是否预加载普通窗口 */
67
+ enableBW?: boolean;
68
+ /** 是否预加载无边框有按钮的窗口 */
69
+ enableBW_FramelessWithButtons?: boolean;
70
+ /** 是否预加载无边框无按钮的窗口 */
71
+ enableBW_FramelessNoButtons?: boolean;
72
+ /** 是否预加载浏览器视图 */
73
+ enableBV?: boolean;
74
+ }
60
75
  export {};
61
76
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE3H,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,MAAM,MAAM,6BAA6B,GACrC,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,GACxH,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;AAE1H,UAAU,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAO,SAAQ,WAAW;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE3H,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,MAAM,MAAM,6BAA6B,GACrC,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,GACxH,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;AAE1H,UAAU,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAO,SAAQ,WAAW;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,qBAAqB;IACrB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,iBAAiB;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -57,5 +57,20 @@ export interface BVItem extends BrowserView {
57
57
  /** 初始化url */
58
58
  _initUrl?: string;
59
59
  }
60
+ /**
61
+ * 预加载配置接口
62
+ */
63
+ export interface PreloadWebContentsConfig {
64
+ /** 预加载的 URL */
65
+ url: string;
66
+ /** 是否预加载普通窗口 */
67
+ enableBW?: boolean;
68
+ /** 是否预加载无边框有按钮的窗口 */
69
+ enableBW_FramelessWithButtons?: boolean;
70
+ /** 是否预加载无边框无按钮的窗口 */
71
+ enableBW_FramelessNoButtons?: boolean;
72
+ /** 是否预加载浏览器视图 */
73
+ enableBV?: boolean;
74
+ }
60
75
  export {};
61
76
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE3H,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,MAAM,MAAM,6BAA6B,GACrC,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,GACxH,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;AAE1H,UAAU,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAO,SAAQ,WAAW;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAE3H,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,+BAA+B,EAAE,QAAQ,CAAC;IACxF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,6BAA6B,EAAE,QAAQ,CAAC;IACpF,MAAM,CAAC,EAAE,MAAM,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;CAC7D;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,2BAA2B,CAAC,EAAE,GAAG,CAAC;KACnC;CACF;AAED,MAAM,MAAM,6BAA6B,GACrC,CAAC;IAAE,IAAI,CAAC,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,GACxH,CAAC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,aAAa,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG,IAAI,CAAC,iCAAiC,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC;AAE1H,UAAU,iCAAiC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,aAAa,CAAC,EAAE,iBAAiB,GAAG,eAAe,CAAC;IACpD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAO,SAAQ,WAAW;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa;IACb,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,qBAAqB;IACrB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,iBAAiB;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -1,12 +1,12 @@
1
1
  import { WebContents } from 'electron';
2
- import type { ElectronWindowsManagerOptions, BWItem, BVItem } from '../common';
2
+ import type { ElectronWindowsManagerOptions, BWItem, BVItem, PreloadWebContentsConfig } from '../common';
3
3
  export declare const getCustomSession: () => Electron.Session;
4
4
  export declare const enable: (win: WebContents) => void;
5
5
  export declare class WindowsManager {
6
6
  loadingViewUrl: string | undefined;
7
7
  errorViewUrl: string | undefined;
8
8
  preload?: string;
9
- preloadWebContentsUrl?: string;
9
+ preloadWebContentsConfig?: PreloadWebContentsConfig;
10
10
  windows: Map<number, BWItem | BVItem>;
11
11
  preloadedBW: BWItem | null;
12
12
  preloadedBW_FramelessWithButtons: BWItem | null;
@@ -32,12 +32,12 @@ export declare class WindowsManager {
32
32
  * - 不带点的(如 example.com)只匹配主域名。
33
33
  * - 'localhost'、'127.0.0.1'、'::1' 以及局域网 IP(如 192.168.x.x、10.x.x.x、172.16.x.x~172.31.x.x)都视为本地白名单。
34
34
  */
35
- constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsUrl?: string, webviewDomainWhiteList?: string[]);
35
+ constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[]);
36
36
  /**
37
- * 设置预加载的webContents的url
38
- * @param preloadWebContentsUrl 预加载的webContents的url
37
+ * 设置预加载的webContents配置
38
+ * @param preloadWebContentsConfig 预加载的webContents配置
39
39
  */
40
- setPreloadWebContentsUrl(preloadWebContentsUrl: string): void;
40
+ setPreloadWebContentsConfig(preloadWebContentsConfig: PreloadWebContentsConfig): void;
41
41
  /**
42
42
  * 预加载实例
43
43
  */
@@ -83,5 +83,5 @@ export declare class WindowsManager {
83
83
  createPreloadWebContents(url: string): Promise<unknown>;
84
84
  }
85
85
  export declare let isInitialized: boolean;
86
- export declare const initialize: (preload?: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsUrl?: string, webviewDomainWhiteList?: string[]) => WindowsManager;
86
+ export declare const initialize: (preload?: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[]) => WindowsManager;
87
87
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"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"}
package/esm/main/index.js CHANGED
@@ -56,7 +56,7 @@ class WindowsManager {
56
56
  * - 不带点的(如 example.com)只匹配主域名。
57
57
  * - 'localhost'、'127.0.0.1'、'::1' 以及局域网 IP(如 192.168.x.x、10.x.x.x、172.16.x.x~172.31.x.x)都视为本地白名单。
58
58
  */
59
- constructor(preload, loadingViewUrl, errorViewUrl, preloadWebContentsUrl, webviewDomainWhiteList) {
59
+ constructor(preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList) {
60
60
  // 预加载的窗口
61
61
  this.preloadedBW = null;
62
62
  // 预加载的窗口(无边框,有按钮)
@@ -74,25 +74,25 @@ class WindowsManager {
74
74
  this.windows = new Map();
75
75
  this.loadingViewUrl = `${loadingViewUrl ?? ''}`;
76
76
  this.errorViewUrl = `${errorViewUrl ?? ''}`;
77
- this.preloadWebContentsUrl = `${preloadWebContentsUrl ?? ''}`;
77
+ this.preloadWebContentsConfig = preloadWebContentsConfig;
78
78
  this.webviewDomainWhiteList = webviewDomainWhiteList || [];
79
- log('log', 'preloadWebContentsUrl: ', this.preloadWebContentsUrl);
80
- if (this.preloadWebContentsUrl) {
79
+ log('log', 'preloadWebContentsConfig: ', this.preloadWebContentsConfig);
80
+ if (this.preloadWebContentsConfig) {
81
81
  app.on('ready', () => {
82
- if (this.preloadWebContentsUrl) {
83
- this.setPreloadWebContentsUrl(this.preloadWebContentsUrl);
82
+ if (this.preloadWebContentsConfig) {
83
+ this.setPreloadWebContentsConfig(this.preloadWebContentsConfig);
84
84
  }
85
85
  });
86
86
  }
87
87
  }
88
88
  /**
89
- * 设置预加载的webContents的url
90
- * @param preloadWebContentsUrl 预加载的webContents的url
89
+ * 设置预加载的webContents配置
90
+ * @param preloadWebContentsConfig 预加载的webContents配置
91
91
  */
92
- setPreloadWebContentsUrl(preloadWebContentsUrl) {
92
+ setPreloadWebContentsConfig(preloadWebContentsConfig) {
93
93
  try {
94
- this.preloadWebContentsUrl = preloadWebContentsUrl;
95
- if (this.preloadWebContentsUrl) {
94
+ this.preloadWebContentsConfig = preloadWebContentsConfig;
95
+ if (this.preloadWebContentsConfig) {
96
96
  this._preloadInstances();
97
97
  }
98
98
  else {
@@ -103,7 +103,7 @@ class WindowsManager {
103
103
  }
104
104
  }
105
105
  catch (error) {
106
- log('error', 'setPreloadWebContentsUrl error:', error);
106
+ log('error', 'setPreloadWebContentsConfig error:', error);
107
107
  }
108
108
  }
109
109
  /**
@@ -114,23 +114,31 @@ class WindowsManager {
114
114
  return;
115
115
  this.preloading = true;
116
116
  try {
117
- if (this.preloadWebContentsUrl) {
118
- // 预加载的窗口
119
- this.preloadedBW = this.preloadedBW || await this._createPreloadBW({});
120
- // 预加载的窗口(无边框,有按钮)
121
- this.preloadedBW_FramelessWithButtons = this.preloadedBW_FramelessWithButtons || await this._createPreloadBW({
122
- frame: false,
123
- transparent: true,
124
- titleBarStyle: 'hidden',
125
- });
126
- // 预加载的窗口(无边框,无按钮)
127
- this.preloadedBW_FramelessNoButtons = this.preloadedBW_FramelessNoButtons || await this._createPreloadBW({
128
- frame: false,
129
- transparent: true,
130
- titleBarStyle: 'customButtonsOnHover',
131
- });
132
- // 预加载的BV
133
- this.preloadedBV = this.preloadedBV || await this._createPreloadBV();
117
+ if (this.preloadWebContentsConfig) {
118
+ // 根据配置决定是否预加载普通窗口
119
+ if (this.preloadWebContentsConfig.enableBW !== false) {
120
+ this.preloadedBW = this.preloadedBW || await this._createPreloadBW({});
121
+ }
122
+ // 根据配置决定是否预加载无边框有按钮的窗口
123
+ if (this.preloadWebContentsConfig.enableBW_FramelessWithButtons !== false) {
124
+ this.preloadedBW_FramelessWithButtons = this.preloadedBW_FramelessWithButtons || await this._createPreloadBW({
125
+ frame: false,
126
+ transparent: true,
127
+ titleBarStyle: 'hidden',
128
+ });
129
+ }
130
+ // 根据配置决定是否预加载无边框无按钮的窗口
131
+ if (this.preloadWebContentsConfig.enableBW_FramelessNoButtons !== false) {
132
+ this.preloadedBW_FramelessNoButtons = this.preloadedBW_FramelessNoButtons || await this._createPreloadBW({
133
+ frame: false,
134
+ transparent: true,
135
+ titleBarStyle: 'customButtonsOnHover',
136
+ });
137
+ }
138
+ // 根据配置决定是否预加载浏览器视图
139
+ if (this.preloadWebContentsConfig.enableBV !== false) {
140
+ this.preloadedBV = this.preloadedBV || await this._createPreloadBV();
141
+ }
134
142
  }
135
143
  }
136
144
  catch (e) {
@@ -146,8 +154,8 @@ class WindowsManager {
146
154
  _createPreloadBW(options = {}) {
147
155
  return new Promise((resolve) => {
148
156
  const preload = this.preload;
149
- const url = this.preloadWebContentsUrl;
150
- if (this.preloadWebContentsUrl) {
157
+ const url = this.preloadWebContentsConfig?.url;
158
+ if (this.preloadWebContentsConfig?.url) {
151
159
  const webPreferences = (options.webPreferences || {});
152
160
  const instance = new BrowserWindow({
153
161
  ...options,
@@ -178,7 +186,7 @@ class WindowsManager {
178
186
  log('error', '预加载 BW 设置 _id 失败', error);
179
187
  }
180
188
  // @ts-ignore
181
- log('log', '创建预BW: ', instance._id, this.preloadWebContentsUrl);
189
+ log('log', '创建预BW: ', instance._id, this.preloadWebContentsConfig?.url);
182
190
  // instance.webContents.once('did-finish-load', () => {
183
191
  // resolve(instance as BWItem);
184
192
  // });
@@ -197,8 +205,8 @@ class WindowsManager {
197
205
  _createPreloadBV(options = {}) {
198
206
  return new Promise((resolve) => {
199
207
  const preload = this.preload;
200
- const url = this.preloadWebContentsUrl;
201
- if (this.preloadWebContentsUrl) {
208
+ const url = this.preloadWebContentsConfig?.url;
209
+ if (this.preloadWebContentsConfig?.url) {
202
210
  const webPreferences = (options.webPreferences || {});
203
211
  const instance = new BrowserView({
204
212
  webPreferences: {
@@ -226,7 +234,7 @@ class WindowsManager {
226
234
  log('error', '预加载 BV 设置 _id 失败', error);
227
235
  }
228
236
  // @ts-ignore
229
- log('log', '创建预BV: ', instance._id, this.preloadWebContentsUrl);
237
+ log('log', '创建预BV: ', instance._id, this.preloadWebContentsConfig?.url);
230
238
  // instance.webContents.once('did-finish-load', () => {
231
239
  // resolve(instance as BVItem);
232
240
  // });
@@ -278,51 +286,55 @@ class WindowsManager {
278
286
  options.type = type;
279
287
  // 优先复用预创建实例
280
288
  let preloadWin = null;
281
- if (type === 'BW' && usePreload && this.preloadWebContentsUrl) {
289
+ if (type === 'BW' && usePreload && this.preloadWebContentsConfig?.url) {
282
290
  const bwOptions = browserWindowOptions || {};
283
291
  if (bwOptions.frame === false) {
284
292
  if (bwOptions.titleBarStyle === 'customButtonsOnHover') {
285
- preloadWin = this.preloadedBW_FramelessNoButtons;
286
- this.preloadedBW_FramelessNoButtons = await this._createPreloadBW({
287
- frame: false,
288
- transparent: true,
289
- titleBarStyle: 'customButtonsOnHover',
290
- webPreferences: {
291
- preload: bwOptions?.webPreferences?.preload || this.preload,
292
- }
293
- });
293
+ if (this.preloadWebContentsConfig.enableBW_FramelessNoButtons !== false) {
294
+ preloadWin = this.preloadedBW_FramelessNoButtons;
295
+ this.preloadedBW_FramelessNoButtons = await this._createPreloadBW({
296
+ frame: false,
297
+ transparent: true,
298
+ titleBarStyle: 'customButtonsOnHover',
299
+ webPreferences: {
300
+ preload: bwOptions?.webPreferences?.preload || this.preload,
301
+ }
302
+ });
303
+ }
294
304
  }
295
305
  else {
296
- preloadWin = this.preloadedBW_FramelessWithButtons;
297
- this.preloadedBW_FramelessWithButtons = await this._createPreloadBW({
298
- frame: false,
299
- transparent: true,
300
- titleBarStyle: 'hidden',
306
+ if (this.preloadWebContentsConfig.enableBW_FramelessWithButtons !== false) {
307
+ preloadWin = this.preloadedBW_FramelessWithButtons;
308
+ this.preloadedBW_FramelessWithButtons = await this._createPreloadBW({
309
+ frame: false,
310
+ transparent: true,
311
+ titleBarStyle: 'hidden',
312
+ webPreferences: {
313
+ preload: this.preload,
314
+ }
315
+ });
316
+ }
317
+ }
318
+ }
319
+ else {
320
+ if (this.preloadWebContentsConfig.enableBW !== false) {
321
+ preloadWin = this.preloadedBW;
322
+ this.preloadedBW = await this._createPreloadBW({
301
323
  webPreferences: {
302
- preload: this.preload,
324
+ preload: bwOptions?.webPreferences?.preload || this.preload,
303
325
  }
304
326
  });
305
327
  }
306
328
  }
307
- else {
308
- preloadWin = this.preloadedBW;
309
- this.preloadedBW = await this._createPreloadBW({
310
- webPreferences: {
311
- preload: bwOptions?.webPreferences?.preload || this.preload,
312
- }
313
- });
314
- }
315
329
  }
316
- if (type === 'BV' && usePreload && this.preloadWebContentsUrl) {
330
+ if (type === 'BV' && usePreload && this.preloadWebContentsConfig?.url) {
317
331
  const bvOptions = browserWindowOptions || {};
318
- if (this.preloadedBV) {
319
- preloadWin = this.preloadedBV;
320
- this.preloadedBV = await this._createPreloadBV({
321
- webPreferences: {
322
- preload: bvOptions?.webPreferences?.preload || this.preload,
323
- }
324
- });
325
- }
332
+ preloadWin = this.preloadedBV;
333
+ this.preloadedBV = await this._createPreloadBV({
334
+ webPreferences: {
335
+ preload: bvOptions?.webPreferences?.preload || this.preload,
336
+ }
337
+ });
326
338
  }
327
339
  if (preloadWin) {
328
340
  const win = preloadWin;
@@ -980,7 +992,7 @@ class WindowsManager {
980
992
  // @ts-ignore
981
993
  global['__ELECTRON_WINDOWS_MANAGER__'] = undefined;
982
994
  let isInitialized = false;
983
- const initialize = (preload, loadingViewUrl, errorViewUrl, preloadWebContentsUrl, webviewDomainWhiteList) => {
995
+ const initialize = (preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList) => {
984
996
  // @ts-ignore
985
997
  if (isInitialized && global['__ELECTRON_WINDOWS_MANAGER__']) {
986
998
  // @ts-ignore
@@ -988,7 +1000,7 @@ const initialize = (preload, loadingViewUrl, errorViewUrl, preloadWebContentsUrl
988
1000
  }
989
1001
  isInitialized = true;
990
1002
  // @ts-ignore
991
- const wm = global['__ELECTRON_WINDOWS_MANAGER__'] = new WindowsManager(preload, loadingViewUrl, errorViewUrl, preloadWebContentsUrl, webviewDomainWhiteList);
1003
+ const wm = global['__ELECTRON_WINDOWS_MANAGER__'] = new WindowsManager(preload, loadingViewUrl, errorViewUrl, preloadWebContentsConfig, webviewDomainWhiteList);
992
1004
  eIpc.mainIPC.handleRenderer('__ELECTRON_WINDOW_MANAGER_IPC_CHANNEL__', async (data) => {
993
1005
  if (data?.type === 'create') {
994
1006
  const opt = data;
@@ -1148,9 +1160,9 @@ const initialize = (preload, loadingViewUrl, errorViewUrl, preloadWebContentsUrl
1148
1160
  return undefined;
1149
1161
  }
1150
1162
  // 是否开启预加载窗口
1151
- if (data?.type === 'setPreloadWebContentsUrl') {
1163
+ if (data?.type === 'setPreloadWebContentsConfig') {
1152
1164
  const opt = data;
1153
- wm.setPreloadWebContentsUrl(opt.data);
1165
+ wm.setPreloadWebContentsConfig(opt.data);
1154
1166
  }
1155
1167
  if (data?.type === 'createPreloadWebContents') {
1156
1168
  const opt = data;