Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
557672ba
Commit
557672ba
authored
Jun 10, 2021
by
RuoYi
Browse files
系统布局配置支持动态标题开关
parent
a3116cd2
Changes
11
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/.env.development
View file @
557672ba
# 页面标题
VUE_APP_TITLE = 若依管理系统
# 开发环境配置
# 开发环境配置
ENV = 'development'
ENV = 'development'
...
...
ruoyi-ui/.env.production
View file @
557672ba
# 页面标题
VUE_APP_TITLE = 若依管理系统
# 生产环境配置
# 生产环境配置
ENV = 'production'
ENV = 'production'
...
...
ruoyi-ui/.env.staging
View file @
557672ba
# 页面标题
VUE_APP_TITLE = 若依管理系统
NODE_ENV = production
NODE_ENV = production
# 测试环境配置
# 测试环境配置
...
...
ruoyi-ui/package.json
View file @
557672ba
...
@@ -55,6 +55,7 @@
...
@@ -55,6 +55,7 @@
"vue"
:
"2.6.12"
,
"vue"
:
"2.6.12"
,
"vue-count-to"
:
"1.0.13"
,
"vue-count-to"
:
"1.0.13"
,
"vue-cropper"
:
"0.5.5"
,
"vue-cropper"
:
"0.5.5"
,
"vue-meta"
:
"^2.4.0"
,
"vue-router"
:
"3.4.9"
,
"vue-router"
:
"3.4.9"
,
"vuedraggable"
:
"2.24.3"
,
"vuedraggable"
:
"2.24.3"
,
"vuex"
:
"3.6.0"
"vuex"
:
"3.6.0"
...
...
ruoyi-ui/src/App.vue
View file @
557672ba
...
@@ -6,6 +6,14 @@
...
@@ -6,6 +6,14 @@
<
script
>
<
script
>
export
default
{
export
default
{
name
:
'
App
'
name
:
'
App
'
,
metaInfo
()
{
return
{
title
:
this
.
$store
.
state
.
settings
.
dynamicTitle
&&
this
.
$store
.
state
.
settings
.
title
,
titleTemplate
:
title
=>
{
return
title
?
`
${
title
}
-
${
process
.
env
.
VUE_APP_TITLE
}
`
:
process
.
env
.
VUE_APP_TITLE
}
}
}
}
}
</
script
>
</
script
>
ruoyi-ui/src/layout/components/Settings/index.vue
View file @
557672ba
...
@@ -62,6 +62,11 @@
...
@@ -62,6 +62,11 @@
<el-switch
v-model=
"sidebarLogo"
class=
"drawer-switch"
/>
<el-switch
v-model=
"sidebarLogo"
class=
"drawer-switch"
/>
</div>
</div>
<div
class=
"drawer-item"
>
<span>
动态标题
</span>
<el-switch
v-model=
"dynamicTitle"
class=
"drawer-switch"
/>
</div>
<el-divider/>
<el-divider/>
<el-button
size=
"small"
type=
"primary"
plain
icon=
"el-icon-document-add"
@
click=
"saveSetting"
>
保存配置
</el-button>
<el-button
size=
"small"
type=
"primary"
plain
icon=
"el-icon-document-add"
@
click=
"saveSetting"
>
保存配置
</el-button>
...
@@ -129,6 +134,17 @@ export default {
...
@@ -129,6 +134,17 @@ export default {
})
})
}
}
},
},
dynamicTitle
:
{
get
()
{
return
this
.
$store
.
state
.
settings
.
dynamicTitle
},
set
(
val
)
{
this
.
$store
.
dispatch
(
'
settings/changeSetting
'
,
{
key
:
'
dynamicTitle
'
,
value
:
val
})
}
},
},
},
methods
:
{
methods
:
{
themeChange
(
val
)
{
themeChange
(
val
)
{
...
@@ -160,6 +176,7 @@ export default {
...
@@ -160,6 +176,7 @@ export default {
"tagsView":
${
this
.
tagsView
}
,
"tagsView":
${
this
.
tagsView
}
,
"fixedHeader":
${
this
.
fixedHeader
}
,
"fixedHeader":
${
this
.
fixedHeader
}
,
"sidebarLogo":
${
this
.
sidebarLogo
}
,
"sidebarLogo":
${
this
.
sidebarLogo
}
,
"dynamicTitle":
${
this
.
dynamicTitle
}
,
"sideTheme":"
${
this
.
sideTheme
}
",
"sideTheme":"
${
this
.
sideTheme
}
",
"theme":"
${
this
.
theme
}
"
"theme":"
${
this
.
theme
}
"
}`
}`
...
...
ruoyi-ui/src/main.js
View file @
557672ba
...
@@ -20,6 +20,8 @@ import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels,
...
@@ -20,6 +20,8 @@ import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels,
import
Pagination
from
"
@/components/Pagination
"
;
import
Pagination
from
"
@/components/Pagination
"
;
// 自定义表格工具扩展
// 自定义表格工具扩展
import
RightToolbar
from
"
@/components/RightToolbar
"
import
RightToolbar
from
"
@/components/RightToolbar
"
// 头部标签插件
import
VueMeta
from
'
vue-meta
'
// 全局方法挂载
// 全局方法挂载
Vue
.
prototype
.
getDicts
=
getDicts
Vue
.
prototype
.
getDicts
=
getDicts
...
@@ -49,6 +51,7 @@ Vue.component('Pagination', Pagination)
...
@@ -49,6 +51,7 @@ Vue.component('Pagination', Pagination)
Vue
.
component
(
'
RightToolbar
'
,
RightToolbar
)
Vue
.
component
(
'
RightToolbar
'
,
RightToolbar
)
Vue
.
use
(
permission
)
Vue
.
use
(
permission
)
Vue
.
use
(
VueMeta
)
/**
/**
* If you don't want to use mock-server
* If you don't want to use mock-server
...
...
ruoyi-ui/src/permission.js
View file @
557672ba
...
@@ -12,6 +12,7 @@ const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
...
@@ -12,6 +12,7 @@ const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
NProgress
.
start
()
NProgress
.
start
()
if
(
getToken
())
{
if
(
getToken
())
{
to
.
meta
.
title
&&
store
.
dispatch
(
'
settings/setTitle
'
,
to
.
meta
.
title
)
/* has token*/
/* has token*/
if
(
to
.
path
===
'
/login
'
)
{
if
(
to
.
path
===
'
/login
'
)
{
next
({
path
:
'
/
'
})
next
({
path
:
'
/
'
})
...
...
ruoyi-ui/src/settings.js
View file @
557672ba
module
.
exports
=
{
module
.
exports
=
{
title
:
'
若依管理系统
'
,
/**
/**
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
*/
*/
...
@@ -31,6 +29,11 @@ module.exports = {
...
@@ -31,6 +29,11 @@ module.exports = {
*/
*/
sidebarLogo
:
true
,
sidebarLogo
:
true
,
/**
* 是否显示动态标题
*/
dynamicTitle
:
false
,
/**
/**
* @type {string | array} 'production' | ['production', 'development']
* @type {string | array} 'production' | ['production', 'development']
* @description Need show err logs component.
* @description Need show err logs component.
...
...
ruoyi-ui/src/store/modules/settings.js
View file @
557672ba
import
variables
from
'
@/assets/styles/element-variables.scss
'
import
variables
from
'
@/assets/styles/element-variables.scss
'
import
defaultSettings
from
'
@/settings
'
import
defaultSettings
from
'
@/settings
'
const
{
sideTheme
,
showSettings
,
topNav
,
tagsView
,
fixedHeader
,
sidebarLogo
}
=
defaultSettings
const
{
sideTheme
,
showSettings
,
topNav
,
tagsView
,
fixedHeader
,
sidebarLogo
,
dynamicTitle
}
=
defaultSettings
const
storageSetting
=
JSON
.
parse
(
localStorage
.
getItem
(
'
layout-setting
'
))
||
''
const
storageSetting
=
JSON
.
parse
(
localStorage
.
getItem
(
'
layout-setting
'
))
||
''
const
state
=
{
const
state
=
{
title
:
''
,
theme
:
storageSetting
.
theme
||
variables
.
theme
,
theme
:
storageSetting
.
theme
||
variables
.
theme
,
sideTheme
:
storageSetting
.
sideTheme
||
sideTheme
,
sideTheme
:
storageSetting
.
sideTheme
||
sideTheme
,
showSettings
:
showSettings
,
showSettings
:
showSettings
,
topNav
:
storageSetting
.
topNav
===
undefined
?
topNav
:
storageSetting
.
topNav
,
topNav
:
storageSetting
.
topNav
===
undefined
?
topNav
:
storageSetting
.
topNav
,
tagsView
:
storageSetting
.
tagsView
===
undefined
?
tagsView
:
storageSetting
.
tagsView
,
tagsView
:
storageSetting
.
tagsView
===
undefined
?
tagsView
:
storageSetting
.
tagsView
,
fixedHeader
:
storageSetting
.
fixedHeader
===
undefined
?
fixedHeader
:
storageSetting
.
fixedHeader
,
fixedHeader
:
storageSetting
.
fixedHeader
===
undefined
?
fixedHeader
:
storageSetting
.
fixedHeader
,
sidebarLogo
:
storageSetting
.
sidebarLogo
===
undefined
?
sidebarLogo
:
storageSetting
.
sidebarLogo
sidebarLogo
:
storageSetting
.
sidebarLogo
===
undefined
?
sidebarLogo
:
storageSetting
.
sidebarLogo
,
dynamicTitle
:
storageSetting
.
dynamicTitle
===
undefined
?
dynamicTitle
:
storageSetting
.
dynamicTitle
}
}
const
mutations
=
{
const
mutations
=
{
CHANGE_SETTING
:
(
state
,
{
key
,
value
})
=>
{
CHANGE_SETTING
:
(
state
,
{
key
,
value
})
=>
{
...
@@ -22,8 +24,13 @@ const mutations = {
...
@@ -22,8 +24,13 @@ const mutations = {
}
}
const
actions
=
{
const
actions
=
{
// 修改布局设置
changeSetting
({
commit
},
data
)
{
changeSetting
({
commit
},
data
)
{
commit
(
'
CHANGE_SETTING
'
,
data
)
commit
(
'
CHANGE_SETTING
'
,
data
)
},
// 设置网页标题
setTitle
({
commit
},
title
)
{
state
.
title
=
title
}
}
}
}
...
...
ruoyi-ui/vue.config.js
View file @
557672ba
'
use strict
'
'
use strict
'
const
path
=
require
(
'
path
'
)
const
path
=
require
(
'
path
'
)
const
defaultSettings
=
require
(
'
./src/settings.js
'
)
function
resolve
(
dir
)
{
function
resolve
(
dir
)
{
return
path
.
join
(
__dirname
,
dir
)
return
path
.
join
(
__dirname
,
dir
)
}
}
const
name
=
defaultSettings
.
title
||
'
若依管理系统
'
// 标题
const
name
=
process
.
env
.
VUE_APP_TITLE
||
'
若依管理系统
'
//
网页
标题
const
port
=
process
.
env
.
port
||
process
.
env
.
npm_config_port
||
80
// 端口
const
port
=
process
.
env
.
port
||
process
.
env
.
npm_config_port
||
80
// 端口
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment