gaoshuaixing 3 年之前
父节点
当前提交
3c4d524257
共有 3 个文件被更改,包括 26 次插入3 次删除
  1. 22 0
      electron/controller/example.js
  2. 1 0
      frontend/src/api/main.js
  3. 3 3
      frontend/src/views/base/window/Index.vue

+ 22 - 0
electron/controller/example.js

@@ -182,6 +182,28 @@ class ExampleController extends Controller {
     this.app.electron.mainWindow.removeBrowserView(browserViewObj);
     return true
   }  
+
+  /**
+   * 打开新窗口
+   */
+  createWindow (args) {
+    let content = null;
+    if (args.type == 'html') {
+      content = path.join('file://', electronApp.getAppPath(), args.content)
+    } else {
+      content = args.content;
+    }
+
+    let winObj = new BrowserWindow({
+      x: 10,
+      y: 10,
+      width: 980, 
+      height: 650 
+    })
+    winObj.loadURL(content);
+
+    return winObj.id
+  }  
 }
 
 module.exports = ExampleController;

+ 1 - 0
frontend/src/api/main.js

@@ -23,6 +23,7 @@ const ipcApiRoute = {
   executeJS: 'controller.example.executeJS',
   loadViewContent: 'controller.example.loadViewContent',
   removeViewContent: 'controller.example.removeViewContent',
+  createWindow: 'controller.example.createWindow',
 }
 
 /**

+ 3 - 3
frontend/src/views/base/window/Index.vue

@@ -23,6 +23,7 @@
   </div>
 </template>
 <script>
+import { ipcApiRoute } from '@/api/main'
 
 export default {
   data() {
@@ -34,15 +35,14 @@ export default {
         },
         {
           type: 'html',
-          content: '/asset/view_example.html'
+          content: '/public/html/view_example.html'
         },        
       ],
     };
   },
   methods: {
     createWindow (index) {
-      const self = this;
-      self.$ipcCallMain('example.createWindow', this.views[index]).then(r => {
+      this.$ipcCallMain(ipcApiRoute.createWindow, this.views[index]).then(r => {
         console.log(r);
       })
     },