张恒

添加自定义的程序头部,开启全屏模式

export default {
Mainfunc (ipc, mainWindow) {
ipc.on('windows-mini', () => {
mainWindow.minimize()
})
ipc.on('window-max', (event) => {
if (mainWindow.isMaximized()) {
event.reply('window-confirm', false)
mainWindow.restore()
} else {
event.reply('window-confirm', true)
mainWindow.maximize()
}
})
ipc.on('window-close', () => {
mainWindow.close()
})
}
}
import { BrowserWindow, Menu } from 'electron'
import { BrowserWindow, Menu, ipcMain } from 'electron'
import menuconfig from '../config/menu'
import config from '@config'
import setIpc from './ipcMain'
import electronDevtoolsInstaller, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:9080` : `file://${__dirname}/index.html`
......@@ -8,13 +9,14 @@ const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:9080`
function createMainWindow () {
let mainWindow
/**
* Initial window options
*/
* Initial window options
*/
mainWindow = new BrowserWindow({
height: 600,
useContentSize: true,
width: 1000,
show: false,
frame: false,
titleBarStyle: 'hidden',
webPreferences: {
nodeIntegration: true
......@@ -25,6 +27,8 @@ function createMainWindow () {
Menu.setApplicationMenu(menu)
mainWindow.loadURL(winURL)
setIpc.Mainfunc(ipcMain, mainWindow)
if (process.env.NODE_ENV === 'development') {
mainWindow.webContents.once('dom-ready', () => {
mainWindow.show()
......
<!-- -->
<template>
<div class="title">
<div class="window-title">
<!-- 软件logo预留位置 -->
<div style="-webkit-app-region: drag;" class="logo"></div>
<!-- 菜单栏位置 -->
......@@ -33,18 +33,34 @@ export default {
mounted() {},
methods: {
Mini() {
this.$electron.ipcRenderer.send("windows-mini");
},
MixOrReduction() {
this.$electron.ipcRenderer.send("window-max");
this.$electron.ipcRenderer.on(
"window-confirm",
(event, arg) => (this.mix = arg)
);
},
Close() {
this.$electron.ipcRenderer.send("window-close");
}
}
};
</script>
<style rel='stylesheet/scss' lang='scss' scoped>
.title {
.window-title {
width: 100%;
height: 30px;
line-height: 30px;
background-color: #ffffff;
color: rgba(60, 60, 60, 0.6);
display: flex;
-webkit-app-region: drag;
position: fixed;
top: 0;
z-index: 99999;
.controls-container {
display: flex;
flex-grow: 0;
......
......@@ -46,6 +46,7 @@ export default {
position: relative;
height: 100%;
width: 100%;
top: 38px;
.container-set {
position: relative;
padding-top: 62px;
......
......@@ -21,9 +21,11 @@ Vue.prototype.$db = db
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
const vue = new Vue({
components: { App },
router,
store,
template: '<App/>'
}).$mount('#app')
export default vue
......
......@@ -18,7 +18,7 @@
height: 100%;
position: fixed;
font-size: 0px;
top: 0;
top: 38px;
bottom: 0;
left: 0;
z-index: 1001;
......
import $Vm from '../main'
export default {
send (data) {
$Vm.$electron.ipcRenderer.send(data, (event, arg) => {
})
}
}