Sfoglia il codice sorgente

refactor(controller): 优化主窗口打开逻辑

- 重构了 openMain 方法,提高了代码可读性和维护性
- 添加了对已存在窗口的处理逻辑,避免重复创建窗口
- 优化了窗口聚焦和显示的顺序,提升了用户体验
- 使用 async/await 语法,使异步代码更易于理解
panqiuyao 5 mesi fa
parent
commit
83492010f5
1 ha cambiato i file con 11 aggiunte e 4 eliminazioni
  1. 11 4
      electron/controller/utils.js

+ 11 - 4
electron/controller/utils.js

@@ -42,12 +42,19 @@ class UtilsController extends Controller {
 
   async openMain (config) {
 
+    const { id, url } = config;
 
-    if( this.app.electron[config.id]){
-      this.app.electron[config.id].focus();
-      this.app.electron[config.id].show();
+    if (this.app.electron[id]) {
+      const win = this.app.electron[id];
+
+      // 切换到指定的 URL
+      if(id === 'generate') await win.loadURL(url);
+
+      win.focus();
+      win.show();
       return;
     }
+
     const win = new BrowserWindow({
       ...config,
 
@@ -59,7 +66,7 @@ class UtilsController extends Controller {
 
       },
     });
-    win.loadURL(config.url); // 设置窗口的 URL
+    await win.loadURL(config.url); // 设置窗口的 URL
     // 监听窗口关闭事件
     if(this.app?.env === 'development')  win.webContents.openDevTools(config.openDevTools)
    //