切换导航条
切换导航条
当前项目
正在载入...
登录
术习电报
/
electron-vue-template
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
构建
提交
问题看板
文件
提交
网络
比较
分支
标签
作者
张恒
2019-09-03 13:17:25 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
提交
bee664aa87b612b16e7b4ef9a3efed82a3059004
bee664aa
1 个父辈
e5ec099b
添加自定义状态栏,可选择是否启用,对应下调了element的样式
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
48 行增加
和
30 行删除
config/index.js
package-lock.json
package.json
src/main/services/ipcMain.js
src/main/services/windowManager.js
src/renderer/components/title/index.vue
src/renderer/icons/svg/electron-logo.svg
src/renderer/styles/index.scss
src/renderer/utils/ipcRenderer.js
config/index.js
查看文件 @
bee664a
...
...
@@ -7,5 +7,6 @@ module.exports = {
env
:
require
(
'./dev.env'
),
removeElectronJunk
:
true
},
UseStartupChart
:
true
UseStartupChart
:
true
,
IsUseSysTitle
:
true
}
...
...
package-lock.json
查看文件 @
bee664a
此文件的差异被折叠,
点击展开。
package.json
查看文件 @
bee664a
...
...
@@ -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"
,
...
...
src/main/services/ipcMain.js
查看文件 @
bee664a
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
()
})
...
...
src/main/services/windowManager.js
查看文件 @
bee664a
...
...
@@ -16,7 +16,7 @@ function createMainWindow () {
useContentSize
:
true
,
width
:
1000
,
show
:
false
,
frame
:
fals
e
,
frame
:
config
.
IsUseSysTitl
e
,
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'
,
()
=>
{
...
...
src/renderer/components/title/index.vue
查看文件 @
bee664a
<!-- -->
<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 {
...
...
src/renderer/icons/svg/electron-logo.svg
0 → 100644
查看文件 @
bee664a
此文件的差异被折叠,
点击展开。
src/renderer/styles/index.scss
查看文件 @
bee664a
...
...
@@ -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
...
...
src/renderer/utils/ipcRenderer.js
查看文件 @
bee664a
import
$
Vm
from
'../mai
n'
import
$
electron
from
'electro
n'
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
))
}
}
...
...
请
注册
或
登录
后发表评论