@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 +15 -0
- package/common/index.d.ts.map +1 -1
- package/esm/common/index.d.ts +15 -0
- package/esm/common/index.d.ts.map +1 -1
- package/esm/main/index.d.ts +7 -7
- package/esm/main/index.d.ts.map +1 -1
- package/esm/main/index.js +84 -72
- package/esm/main/index.js.map +1 -1
- package/esm/renderer/index.d.ts +4 -4
- package/esm/renderer/index.d.ts.map +1 -1
- package/esm/renderer/index.js +6 -6
- package/esm/renderer/index.js.map +1 -1
- package/main/index.d.ts +7 -7
- package/main/index.d.ts.map +1 -1
- package/main/index.js +84 -72
- package/main/index.js.map +1 -1
- package/package.json +2 -2
- package/renderer/index.d.ts +4 -4
- package/renderer/index.d.ts.map +1 -1
- package/renderer/index.js +6 -6
- package/renderer/index.js.map +1 -1
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
|
package/common/index.d.ts.map
CHANGED
|
@@ -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"}
|
package/esm/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"}
|
package/esm/main/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
35
|
+
constructor(preload?: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[]);
|
|
36
36
|
/**
|
|
37
|
-
* 设置预加载的webContents
|
|
38
|
-
* @param
|
|
37
|
+
* 设置预加载的webContents配置
|
|
38
|
+
* @param preloadWebContentsConfig 预加载的webContents配置
|
|
39
39
|
*/
|
|
40
|
-
|
|
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,
|
|
86
|
+
export declare const initialize: (preload?: string, loadingViewUrl?: string, errorViewUrl?: string, preloadWebContentsConfig?: PreloadWebContentsConfig, webviewDomainWhiteList?: string[]) => WindowsManager;
|
|
87
87
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/main/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,WAAW,EAAiG,MAAM,UAAU,CAAA;AAItK,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
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,
|
|
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.
|
|
77
|
+
this.preloadWebContentsConfig = preloadWebContentsConfig;
|
|
78
78
|
this.webviewDomainWhiteList = webviewDomainWhiteList || [];
|
|
79
|
-
log('log', '
|
|
80
|
-
if (this.
|
|
79
|
+
log('log', 'preloadWebContentsConfig: ', this.preloadWebContentsConfig);
|
|
80
|
+
if (this.preloadWebContentsConfig) {
|
|
81
81
|
app.on('ready', () => {
|
|
82
|
-
if (this.
|
|
83
|
-
this.
|
|
82
|
+
if (this.preloadWebContentsConfig) {
|
|
83
|
+
this.setPreloadWebContentsConfig(this.preloadWebContentsConfig);
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
|
-
* 设置预加载的webContents
|
|
90
|
-
* @param
|
|
89
|
+
* 设置预加载的webContents配置
|
|
90
|
+
* @param preloadWebContentsConfig 预加载的webContents配置
|
|
91
91
|
*/
|
|
92
|
-
|
|
92
|
+
setPreloadWebContentsConfig(preloadWebContentsConfig) {
|
|
93
93
|
try {
|
|
94
|
-
this.
|
|
95
|
-
if (this.
|
|
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', '
|
|
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.
|
|
118
|
-
//
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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.
|
|
150
|
-
if (this.
|
|
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.
|
|
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.
|
|
201
|
-
if (this.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
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
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
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.
|
|
330
|
+
if (type === 'BV' && usePreload && this.preloadWebContentsConfig?.url) {
|
|
317
331
|
const bvOptions = browserWindowOptions || {};
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
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,
|
|
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,
|
|
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 === '
|
|
1163
|
+
if (data?.type === 'setPreloadWebContentsConfig') {
|
|
1152
1164
|
const opt = data;
|
|
1153
|
-
wm.
|
|
1165
|
+
wm.setPreloadWebContentsConfig(opt.data);
|
|
1154
1166
|
}
|
|
1155
1167
|
if (data?.type === 'createPreloadWebContents') {
|
|
1156
1168
|
const opt = data;
|