@lynker-desktop/electron-window-manager 0.0.9-alpha.49 → 0.0.9-alpha.50

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":"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"}
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,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAczG,eAAO,MAAM,gBAAgB,wBAQzB,CAAC;AAUL,eAAO,MAAM,MAAM,QAAS,WAAW,SAEtC,CAAA;AAoBD,qBAAa,cAAc;IACzB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IAEtC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE/C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEvD,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAQ;IAErD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAClC,UAAU,EAAE,OAAO,CAAS;IAC5B,sBAAsB,EAAE,MAAM,EAAE,CAAM;IAEtC,OAAO,CAAC,gCAAgC,CAEhC;IACR;;;;;;;;;;;;;;;OAeG;gBACS,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,wBAAwB,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE;IAwBpK;;;OAGG;IACH,2BAA2B,CAAC,wBAAwB,EAAE,wBAAwB;IAkB9E;;;;;OAKG;YACW,YAAY;IAa1B;;OAEG;YACW,iBAAiB;IAkF/B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAoDxB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAmDlB,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/F,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAChF,MAAM,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAW9E;;OAEG;YACW,aAAa;IA0hB3B,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,6BAA6B;IAoF5E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAuD3D,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IA8BtC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAyC/B,QAAQ;IAwCR,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM;IA8BjD,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS;IAa9E,UAAU;IAKV,OAAO,CAAC,0BAA0B;IAqGlC,OAAO,CAAC,wBAAwB;IA+B1B,wBAAwB,CAAC,GAAG,EAAE,MAAM;IA0CpC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAwB1E;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAOjD;;;OAGG;IACH,OAAO,CAAC,yBAAyB,CAE1B;IAEP;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAkE1B;AAID,eAAO,IAAI,aAAa,SAAQ,CAAC;AAEjC,eAAO,MAAM,UAAU,aAAc,MAAM,mBAAmB,MAAM,iBAAiB,MAAM,6BAA6B,wBAAwB,2BAA2B,MAAM,EAAE,KAAG,cAuRrL,CAAA"}
package/esm/main/index.js CHANGED
@@ -442,7 +442,7 @@ class WindowsManager {
442
442
  win.loadURL = async (url, useNativeLoadURL = false) => {
443
443
  return new Promise(async (resolve, reject) => {
444
444
  if (useNativeLoadURL) {
445
- console.error('useNativeLoadURL win.loadURL');
445
+ log('log', 'useNativeLoadURL win.loadURL');
446
446
  try {
447
447
  await originLoadURL.call(win, url);
448
448
  resolve(undefined);
@@ -453,7 +453,7 @@ class WindowsManager {
453
453
  return;
454
454
  }
455
455
  try {
456
- console.error('customLoadURL win.loadURL');
456
+ log('log', 'customLoadURL win.loadURL');
457
457
  // @ts-ignore
458
458
  await this.preloadWebContentsConfig.customLoadURL(url || 'about:blank', (url) => originLoadURL.call(win, url), win.webContents);
459
459
  try {
@@ -475,7 +475,7 @@ class WindowsManager {
475
475
  win.webContents.loadURL = async (url, useNativeLoadURL = false) => {
476
476
  return new Promise(async (resolve, reject) => {
477
477
  if (useNativeLoadURL) {
478
- console.error('useNativeLoadURL win.webContents.loadURL');
478
+ log('log', 'useNativeLoadURL win.webContents.loadURL');
479
479
  try {
480
480
  await originWebContentsLoadURL.call(win.webContents, url);
481
481
  resolve(undefined);
@@ -486,7 +486,7 @@ class WindowsManager {
486
486
  return;
487
487
  }
488
488
  try {
489
- console.error('customLoadURL win.webContents.loadURL');
489
+ log('log', 'customLoadURL win.webContents.loadURL');
490
490
  // @ts-ignore
491
491
  await this.preloadWebContentsConfig.customLoadURL(url || 'about:blank', (url) => originWebContentsLoadURL.call(win.webContents, url), win.webContents);
492
492
  try {
@@ -504,7 +504,7 @@ class WindowsManager {
504
504
  };
505
505
  }
506
506
  catch (error) {
507
- console.error('customLoadURL error', error);
507
+ log('error', 'customLoadURL error', error);
508
508
  }
509
509
  }
510
510
  window = win;
@@ -755,11 +755,11 @@ class WindowsManager {
755
755
  log('log', 'create', this.windows.keys());
756
756
  // 初始化值
757
757
  window.webContents.on('did-finish-load', () => {
758
- console.error('did-finish-load', window.webContents.id);
758
+ log('log', 'did-finish-load', window.webContents.id);
759
759
  initWebContentsVal(window, `${preload || ''}`);
760
760
  });
761
761
  window.webContents.on('did-start-loading', () => {
762
- console.error('did-start-loading', window.webContents.id);
762
+ log('log', 'did-start-loading', window.webContents.id);
763
763
  initWebContentsVal(window, `${preload || ''}`);
764
764
  });
765
765
  if (type === 'BW') {
@@ -770,7 +770,7 @@ class WindowsManager {
770
770
  try {
771
771
  window.dispatchEvent(new Event('focus'));
772
772
  } catch (error) {
773
- console.error('focus', error);
773
+ // 忽略错误,避免影响主流程
774
774
  }
775
775
  `);
776
776
  }
@@ -784,7 +784,7 @@ class WindowsManager {
784
784
  try {
785
785
  window.dispatchEvent(new Event('blur'));
786
786
  } catch (error) {
787
- console.error('blur', error);
787
+ // 忽略错误,避免影响主流程
788
788
  }
789
789
  `);
790
790
  }
@@ -1026,7 +1026,9 @@ class WindowsManager {
1026
1026
  // 窗口已销毁,触发清理
1027
1027
  if (win) {
1028
1028
  const winId = win.id || win._id;
1029
- this.windows.delete(winId);
1029
+ if (winId !== undefined) {
1030
+ this.windows.delete(winId);
1031
+ }
1030
1032
  if (win._name) {
1031
1033
  this.windowsByName.delete(win._name);
1032
1034
  }
@@ -1305,25 +1307,46 @@ class WindowsManager {
1305
1307
  }
1306
1308
  // 生成一个bv 做为预加载资源窗口,加载完成后销毁
1307
1309
  async createPreloadWebContents(url) {
1308
- return new Promise(async (resolve, reject) => {
1309
- let bv = await this.create({
1310
+ let bv = null;
1311
+ try {
1312
+ bv = await this.create({
1310
1313
  type: 'BV',
1311
1314
  url,
1312
1315
  name: `preload-web-contents-${md5(url)}`,
1313
1316
  extraData: `${url}`
1314
1317
  });
1315
- bv.webContents.on('did-finish-load', () => {
1316
- this.close(bv.id || bv._id);
1317
- resolve(true);
1318
- bv = null;
1319
- });
1320
- bv.webContents.on('did-fail-load', () => {
1321
- this.close(bv.id || bv._id);
1322
- reject(false);
1323
- bv = null;
1318
+ return new Promise((resolve, reject) => {
1319
+ const winId = bv.id || bv._id;
1320
+ if (!winId) {
1321
+ reject(new Error('Failed to get window ID'));
1322
+ return;
1323
+ }
1324
+ bv.webContents.on('did-finish-load', () => {
1325
+ if (winId) {
1326
+ this.close(winId);
1327
+ }
1328
+ resolve(true);
1329
+ bv = null;
1330
+ });
1331
+ bv.webContents.on('did-fail-load', () => {
1332
+ if (winId) {
1333
+ this.close(winId);
1334
+ }
1335
+ reject(new Error('Failed to load web contents'));
1336
+ bv = null;
1337
+ });
1338
+ bv.webContents.loadURL(url);
1324
1339
  });
1325
- bv.webContents.loadURL(url);
1326
- });
1340
+ }
1341
+ catch (error) {
1342
+ if (bv) {
1343
+ const winId = bv.id || bv._id;
1344
+ if (winId) {
1345
+ this.close(winId);
1346
+ }
1347
+ }
1348
+ throw error;
1349
+ }
1327
1350
  }
1328
1351
  async getWindowForWebContentsId(wcId) {
1329
1352
  const wc = webContents.fromId(wcId);
@@ -1505,15 +1528,17 @@ const initialize = (preload, loadingViewUrl, errorViewUrl, preloadWebContentsCon
1505
1528
  const res = wm.getAll();
1506
1529
  const obj = {};
1507
1530
  res.forEach(i => {
1508
- // @ts-ignore
1509
- obj[i.id || i._id] = {
1510
- winId: Number(`${i?.id || i?._id || -1}`),
1511
- winName: `${i?._name || ''}`,
1512
- winType: `${i?._type || ''}`,
1513
- winExtraData: `${i?._extraData || ''}`,
1514
- winInitUrl: `${i?._initUrl || ''}`,
1515
- winZIndex: `${i?._zIndex || 0}`,
1516
- };
1531
+ const winId = i.id || i._id;
1532
+ if (winId !== undefined) {
1533
+ obj[winId] = {
1534
+ winId: Number(`${winId}`),
1535
+ winName: `${i?._name || ''}`,
1536
+ winType: `${i?._type || ''}`,
1537
+ winExtraData: `${i?._extraData || ''}`,
1538
+ winInitUrl: `${i?._initUrl || ''}`,
1539
+ winZIndex: `${i?._zIndex || 0}`,
1540
+ };
1541
+ }
1517
1542
  });
1518
1543
  return obj;
1519
1544
  }