Browse Source

优化打包配置

Caner 2 years ago
parent
commit
743f6aaced

+ 12 - 0
electron/afterPack.js

@@ -0,0 +1,12 @@
+exports.default = function (context) {
+    const rootPkg = require('../package.json')
+    const package = {
+        "name": rootPkg.name,
+        "version": rootPkg.version,
+        "main": rootPkg.main,
+        "author": rootPkg.author,
+        "description": rootPkg.description,
+        "homepage": rootPkg.homepage
+    }
+    require('fs').writeFileSync(require('path').join(context.appOutDir, 'resources/app/package.json'), JSON.stringify(package), { encoding: 'utf-8' })
+}

BIN
electron/icon/playGame@1x.png


BIN
electron/icon/playGame@2x.png


+ 8 - 4
electron/main.js

@@ -37,7 +37,11 @@ class MainSerivce {
       alwaysOnTop: true,
       alwaysOnTop: true,
       transparent: true // 窗口是否支持透明,如果想做高级效果最好为true
       transparent: true // 窗口是否支持透明,如果想做高级效果最好为true
     })
     })
-    this.loadingWin.loadFile('loading.html')
+    if (app.isPackaged) {
+      this.loadingWin.loadFile(join(__dirname, './loading.html'))
+    } else {
+      this.loadingWin.loadFile('loading.html')
+    }
     this.loadingWin.on('close', () => {
     this.loadingWin.on('close', () => {
       this.loadingWin = null
       this.loadingWin = null
     })
     })
@@ -64,7 +68,7 @@ class MainSerivce {
 
 
     // 不同环境加载不同文件
     // 不同环境加载不同文件
     if (app.isPackaged) {
     if (app.isPackaged) {
-      this.mainWin.loadFile('dist/index.html')
+      this.mainWin.loadFile(join(__dirname, './index.html'))
     } else {
     } else {
       this.mainWin.loadURL('http://localhost:6547/')
       this.mainWin.loadURL('http://localhost:6547/')
     }
     }
@@ -109,7 +113,7 @@ class MainSerivce {
         return true
         return true
       })
       })
     } else if (platform === 'darwin') {
     } else if (platform === 'darwin') {
-      app.dock.setIcon(join(__dirname, './icon/playGame@2x.png'))
+      app.dock.setIcon(join(__dirname, 'electron/icon/playGame@2x.png'))
     }
     }
 
 
     // 通信
     // 通信
@@ -172,7 +176,7 @@ class MainSerivce {
   }
   }
 
 
   connectLogi() {
   connectLogi() {
-    this.contrlEvent = fork(join(__dirname, './logiControl.js'));
+    this.contrlEvent = fork(join(__dirname, 'electron/logiControl.js'));
     this.contrlEvent.on('message', msg => {
     this.contrlEvent.on('message', msg => {
       if (!msg || msg.type === 'err' || !msg.data || !msg.data[44]) {
       if (!msg || msg.type === 'err' || !msg.data || !msg.data[44]) {
         this.contrlEvent.disconnect()
         this.contrlEvent.disconnect()

+ 11 - 4
package.json

@@ -7,7 +7,10 @@
   "homepage": "https://caner.top",
   "homepage": "https://caner.top",
   "scripts": {
   "scripts": {
     "dev": "vite",
     "dev": "vite",
-    "build": "vue-tsc --noEmit ; vite build ; electron-builder build"
+    "buildElectronFile": "esbuild electron/main.js electron/preload.js electron/logiControl.js --format=cjs --outdir=dist/ --bundle --external:electron --platform=node --minify;",
+    "buildMoveFile": "cp -Force -R electron/icon dist/icon; cp -Force -R loading.html dist/;",
+    "build": "vue-tsc --noEmit; vite build; yarn buildElectronFile; yarn buildMoveFile; electron-builder build;",
+    "test": "electron-builder build"
   },
   },
   "dependencies": {
   "dependencies": {
     "mqtt": "^5.0.2",
     "mqtt": "^5.0.2",
@@ -42,11 +45,15 @@
       "output": "out"
       "output": "out"
     },
     },
     "files": [
     "files": [
-      "dist",
-      "electron"
+      "!**/*",
+      {
+        "from": "dist/",
+        "to": "./electron/"
+      }
     ],
     ],
     "asar": false,
     "asar": false,
     "icon": "electron/icon/",
     "icon": "electron/icon/",
-    "electronVersion": "25.3.0"
+    "electronVersion": "25.3.0",
+    "afterPack": "electron/afterPack.js"
   }
   }
 }
 }

+ 2 - 1
src/App.vue

@@ -308,7 +308,6 @@ video {
   overflow: hidden;
   overflow: hidden;
   border-top-left-radius: 20px;
   border-top-left-radius: 20px;
   border-top-right-radius: 20px;
   border-top-right-radius: 20px;
-  padding-left: 1.5rem;
 
 
   &>div {
   &>div {
     display: flex;
     display: flex;
@@ -319,6 +318,8 @@ video {
     justify-content: center;
     justify-content: center;
     flex: 1;
     flex: 1;
     -webkit-app-region: drag;
     -webkit-app-region: drag;
+    padding-left: 1.1rem;
+    height: 100%;
 
 
     &>* {
     &>* {
       margin: 0 0.18rem;
       margin: 0 0.18rem;

+ 9 - 0
src/components/login.vue

@@ -28,6 +28,12 @@ watch([ name, room, url ], ([ _, __, ___ ], [ _o, __o, ___o ]) => {
 <template>
 <template>
   <div class="login">
   <div class="login">
     <div class="login-title">
     <div class="login-title">
+      <Icon
+        name="min"
+        :size="15"
+        color="#fff"
+        @click="titleEvent('minWin')"
+      />
       <Icon
       <Icon
         name="close"
         name="close"
         :size="15"
         :size="15"
@@ -111,6 +117,9 @@ watch([ name, room, url ], ([ _, __, ___ ], [ _o, __o, ___o ]) => {
     top: 0.12rem;
     top: 0.12rem;
     cursor: pointer;
     cursor: pointer;
     -webkit-app-region: no-drag;
     -webkit-app-region: no-drag;
+    &>svg:last-child{
+      margin-left: 0.1rem;
+    }
   }
   }
 
 
   &-content {
   &-content {