张恒

添加自定义状态栏,可选择是否启用,对应下调了element的样式

......@@ -7,5 +7,6 @@ module.exports = {
env: require('./dev.env'),
removeElectronJunk: true
},
UseStartupChart: true
UseStartupChart: true,
IsUseSysTitle: true
}
......
......@@ -65,7 +65,7 @@
"nprogress": "^0.2.0",
"vue": "^2.6.10",
"vue-electron": "^1.0.6",
"vue-router": "^3.0.7",
"vue-router": "^3.1.3",
"vuex": "^3.1.1",
"vuex-electron": "^1.0.3"
},
......@@ -99,13 +99,13 @@
"cfonts": "^2.4.5",
"chalk": "^2.4.2",
"copy-webpack-plugin": "^5.0.4",
"cross-env": "^5.1.6",
"cross-env": "^5.2.1",
"css-loader": "^3.1.0",
"del": "^5.0.0",
"electron": "^6.0.5",
"electron": "^6.0.7",
"electron-builder": "^21.2.0",
"electron-devtools-installer": "^2.2.4",
"eslint": "^6.2.2",
"eslint": "^6.3.0",
"eslint-config-standard": "^13.0.1",
"eslint-friendly-formatter": "^4.0.1",
"eslint-loader": "^2.2.1",
......
export default {
Mainfunc (ipc, mainWindow) {
Mainfunc (ipc, mainWindow, IsUseSysTitle) {
ipc.on('IsUseSysTitle', (event) => {
const data = IsUseSysTitle
event.reply('CisUseSysTitle', data)
})
ipc.on('windows-mini', () => {
mainWindow.minimize()
})
......
......@@ -16,7 +16,7 @@ function createMainWindow () {
useContentSize: true,
width: 1000,
show: false,
frame: false,
frame: config.IsUseSysTitle,
titleBarStyle: 'hidden',
webPreferences: {
nodeIntegration: true
......@@ -27,7 +27,7 @@ function createMainWindow () {
Menu.setApplicationMenu(menu)
mainWindow.loadURL(winURL)
setIpc.Mainfunc(ipcMain, mainWindow)
setIpc.Mainfunc(ipcMain, mainWindow, config.IsUseSysTitle)
if (process.env.NODE_ENV === 'development') {
mainWindow.webContents.once('dom-ready', () => {
......
<!-- -->
<template>
<div class="window-title">
<div class="window-title" v-if="!IsUseSysTitle">
<!-- 软件logo预留位置 -->
<div style="-webkit-app-region: drag;" class="logo"></div>
<div style="-webkit-app-region: drag;" class="logo">
<svg-icon icon-class="electron-logo"></svg-icon>
</div>
<!-- 菜单栏位置 -->
<div></div>
<!-- 中间标题位置 -->
<div style="-webkit-app-region: drag;">标题文字</div>
<div style="-webkit-app-region: drag;" class="title">标题文字</div>
<div class="controls-container">
<div class="windows-icon-bg" @click="Mini">
<svg-icon icon-class="mini" class-name="icon-size"></svg-icon>
......@@ -23,28 +25,31 @@
</template>
<script>
import ipcApi from "@/utils/ipcRenderer";
export default {
data: () => ({
mix: false
mix: false,
IsUseSysTitle: false
}),
components: {},
created() {
ipcApi.send("IsUseSysTitle");
ipcApi.on("CisUseSysTitle", (event, arg) => (this.IsUseSysTitle = arg));
},
mounted() {},
methods: {
Mini() {
this.$electron.ipcRenderer.send("windows-mini");
ipcApi.send("windows-mini");
},
MixOrReduction() {
this.$electron.ipcRenderer.send("window-max");
this.$electron.ipcRenderer.on(
"window-confirm",
(event, arg) => (this.mix = arg)
);
ipcApi.send("window-max");
ipcApi.on("window-confirm", (event, arg) => (this.mix = arg));
},
Close() {
this.$electron.ipcRenderer.send("window-close");
ipcApi.send("window-close");
}
}
};
......@@ -54,13 +59,15 @@ export default {
width: 100%;
height: 30px;
line-height: 30px;
background-color: #ffffff;
color: rgba(60, 60, 60, 0.6);
background-color: rgba(60, 60, 60, 0.6);
display: flex;
-webkit-app-region: drag;
position: fixed;
top: 0;
z-index: 99999;
.title {
text-align: center;
}
.controls-container {
display: flex;
flex-grow: 0;
......@@ -77,13 +84,14 @@ export default {
-webkit-app-region: no-drag;
height: 100%;
width: 33.34%;
color: rgba(129, 129, 129, 0.6);
.icon-size {
width: 12px;
height: 12px;
}
}
.windows-icon-bg:hover {
background-color: rgba(85, 85, 85, 0.2);
background-color: rgba(182, 182, 182, 0.2);
color: #333;
}
.close-icon:hover {
......
......@@ -15,6 +15,10 @@ body {
html {
box-sizing: border-box;
::-webkit-scrollbar {
display: none;
}
}
*,
......@@ -23,7 +27,7 @@ html {
box-sizing: inherit;
}
div:focus{
div:focus {
outline: none;
}
......@@ -52,10 +56,10 @@ a:hover {
}
//main-container全局样式
.app-main{
.app-main {
min-height: 100%
}
.app-container {
padding: 20px;
}
}
\ No newline at end of file
......
import $Vm from '../main'
import $electron from 'electron'
export default {
send (data) {
$Vm.$electron.ipcRenderer.send(data, (event, arg) => {
})
send (data, cb) {
$electron.ipcRenderer.send(data, (event, arg) => cb(event, arg))
},
on (data, cb) {
$electron.ipcRenderer.on(data, (event, arg) => cb(event, arg))
}
}
......