Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cocktail-party-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cocktail-party
cocktail-party-server
Commits
9f39dfd0
提交
9f39dfd0
authored
5月 09, 2025
作者:
RuoYi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化导航栏显示昵称&设置
上级
131abe87
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
53 行增加
和
140 行删除
+53
-140
more-up.svg
ruoyi-ui/src/assets/icons/svg/more-up.svg
+2
-0
index.vue
ruoyi-ui/src/components/RightPanel/index.vue
+0
-106
Navbar.vue
ruoyi-ui/src/layout/components/Navbar.vue
+25
-17
index.vue
ruoyi-ui/src/layout/components/Settings/index.vue
+10
-7
index.vue
ruoyi-ui/src/layout/index.vue
+5
-6
settings.js
ruoyi-ui/src/settings.js
+1
-1
getters.js
ruoyi-ui/src/store/getters.js
+5
-3
user.js
ruoyi-ui/src/store/modules/user.js
+5
-0
没有找到文件。
ruoyi-ui/src/assets/icons/svg/more-up.svg
0 → 100644
浏览文件 @
9f39dfd0
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
t=
"1746760911144"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"12537"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"200"
height=
"200"
><path
d=
"M395.21211 182.914448c0 62.669318 49.541323 113.472378 110.642936 113.472378 61.093427 0 110.652146-50.80306 110.65214601-113.472378 0-62.685691-49.559742-113.487727-110.65214601-113.487727C444.75241 69.426721 395.21211 120.22978 395.21211 182.914448zM395.21211 523.34693101c0 62.668295 49.541323 113.487727 110.642936 113.48772699 61.093427 0 110.652146-50.820456 110.652146-113.487727 0-62.669318-49.559742-113.472378-110.652146-113.472378C444.75241 409.874553 395.21211 460.67761301 395.21211 523.34693101zM395.21211 841.084529c0 62.686714 49.541323 113.488751 110.642936 113.488751 61.093427 0 110.652146-50.80203599 110.65214601-113.488751 0-62.669318-49.559742-113.471354-110.65214601-113.471354C444.75241 727.614198 395.21211 778.416234 395.21211 841.084529z"
p-id=
"12538"
></path></svg>
\ No newline at end of file
ruoyi-ui/src/components/RightPanel/index.vue
deleted
100644 → 0
浏览文件 @
131abe87
<
template
>
<div
ref=
"rightPanel"
class=
"rightPanel-container"
>
<div
class=
"rightPanel-background"
/>
<div
class=
"rightPanel"
>
<div
class=
"rightPanel-items"
>
<slot
/>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'RightPanel'
,
props
:
{
clickNotClose
:
{
default
:
false
,
type
:
Boolean
}
},
computed
:
{
show
:
{
get
()
{
return
this
.
$store
.
state
.
settings
.
showSettings
},
set
(
val
)
{
this
.
$store
.
dispatch
(
'settings/changeSetting'
,
{
key
:
'showSettings'
,
value
:
val
})
}
}
},
watch
:
{
show
(
value
)
{
if
(
value
&&
!
this
.
clickNotClose
)
{
this
.
addEventClick
()
}
}
},
mounted
()
{
this
.
addEventClick
()
},
beforeDestroy
()
{
const
elx
=
this
.
$refs
.
rightPanel
elx
.
remove
()
},
methods
:
{
addEventClick
()
{
window
.
addEventListener
(
'click'
,
this
.
closeSidebar
)
},
closeSidebar
(
evt
)
{
const
parent
=
evt
.
target
.
closest
(
'.el-drawer__body'
)
if
(
!
parent
)
{
this
.
show
=
false
window
.
removeEventListener
(
'click'
,
this
.
closeSidebar
)
}
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.rightPanel-background
{
position
:
fixed
;
top
:
0
;
left
:
0
;
opacity
:
0
;
transition
:
opacity
.3s
cubic-bezier
(
.7
,
.3
,
.1
,
1
);
background
:
rgba
(
0
,
0
,
0
,
.2
);
z-index
:
-1
;
}
.rightPanel
{
width
:
100%
;
max-width
:
260px
;
height
:
100vh
;
position
:
fixed
;
top
:
0
;
right
:
0
;
box-shadow
:
0px
0px
15px
0px
rgba
(
0
,
0
,
0
,
.05
);
transition
:
all
.25s
cubic-bezier
(
.7
,
.3
,
.1
,
1
);
transform
:
translate
(
100%
);
background
:
#fff
;
z-index
:
40000
;
}
.handle-button
{
width
:
48px
;
height
:
48px
;
position
:
absolute
;
left
:
-48px
;
text-align
:
center
;
font-size
:
24px
;
border-radius
:
6px
0
0
6px
!
important
;
z-index
:
0
;
pointer-events
:
auto
;
cursor
:
pointer
;
color
:
#fff
;
line-height
:
48px
;
i
{
font-size
:
24px
;
line-height
:
48px
;
}
}
</
style
>
ruoyi-ui/src/layout/components/Navbar.vue
浏览文件 @
9f39dfd0
...
@@ -25,23 +25,24 @@
...
@@ -25,23 +25,24 @@
</
template
>
</
template
>
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"
click
"
>
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"
hover
"
>
<div
class=
"avatar-wrapper"
>
<div
class=
"avatar-wrapper"
>
<img
:src=
"avatar"
class=
"user-avatar"
>
<img
:src=
"avatar"
class=
"user-avatar"
>
<
i
class=
"el-icon-caret-bottom"
/
>
<
span
class=
"user-nickname"
>
{{ nickName }}
</span
>
</div>
</div>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<router-link
to=
"/user/profile"
>
<router-link
to=
"/user/profile"
>
<el-dropdown-item>
个人中心
</el-dropdown-item>
<el-dropdown-item>
个人中心
</el-dropdown-item>
</router-link>
</router-link>
<el-dropdown-item
@
click
.
native=
"setting = true"
>
<span>
布局设置
</span>
</el-dropdown-item>
<el-dropdown-item
divided
@
click
.
native=
"logout"
>
<el-dropdown-item
divided
@
click
.
native=
"logout"
>
<span>
退出登录
</span>
<span>
退出登录
</span>
</el-dropdown-item>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
<div
class=
"right-menu-item hover-effect setting"
@
click=
"setLayout"
v-if=
"setting"
>
<svg-icon
icon-class=
"more-up"
/>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -58,6 +59,7 @@ import RuoYiGit from '@/components/RuoYi/Git'
...
@@ -58,6 +59,7 @@ import RuoYiGit from '@/components/RuoYi/Git'
import
RuoYiDoc
from
'@/components/RuoYi/Doc'
import
RuoYiDoc
from
'@/components/RuoYi/Doc'
export
default
{
export
default
{
emits
:
[
'setLayout'
],
components
:
{
components
:
{
Breadcrumb
,
Breadcrumb
,
TopNav
,
TopNav
,
...
@@ -72,17 +74,12 @@ export default {
...
@@ -72,17 +74,12 @@ export default {
...
mapGetters
([
...
mapGetters
([
'sidebar'
,
'sidebar'
,
'avatar'
,
'avatar'
,
'device'
'device'
,
'nickName'
]),
]),
setting
:
{
setting
:
{
get
()
{
get
()
{
return
this
.
$store
.
state
.
settings
.
showSettings
return
this
.
$store
.
state
.
settings
.
showSettings
},
set
(
val
)
{
this
.
$store
.
dispatch
(
'settings/changeSetting'
,
{
key
:
'showSettings'
,
value
:
val
})
}
}
},
},
topNav
:
{
topNav
:
{
...
@@ -95,6 +92,9 @@ export default {
...
@@ -95,6 +92,9 @@ export default {
toggleSideBar
()
{
toggleSideBar
()
{
this
.
$store
.
dispatch
(
'app/toggleSideBar'
)
this
.
$store
.
dispatch
(
'app/toggleSideBar'
)
},
},
setLayout
(
event
)
{
this
.
$emit
(
'setLayout'
)
},
logout
()
{
logout
()
{
this
.
$confirm
(
'确定注销并退出系统吗?'
,
'提示'
,
{
this
.
$confirm
(
'确定注销并退出系统吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
...
@@ -173,17 +173,25 @@ export default {
...
@@ -173,17 +173,25 @@ export default {
}
}
.avatar-container
{
.avatar-container
{
margin-right
:
30px
;
margin-right
:
0px
;
padding-right
:
0px
;
.avatar-wrapper
{
.avatar-wrapper
{
margin-top
:
5
px
;
margin-top
:
10
px
;
position
:
relative
;
position
:
relative
;
.user-avatar
{
.user-avatar
{
cursor
:
pointer
;
cursor
:
pointer
;
width
:
40px
;
width
:
30px
;
height
:
40px
;
height
:
30px
;
border-radius
:
10px
;
border-radius
:
50%
;
}
.user-nickname
{
position
:
relative
;
bottom
:
10px
;
font-size
:
14px
;
font-weight
:
bold
;
}
}
.el-icon-caret-bottom
{
.el-icon-caret-bottom
{
...
...
ruoyi-ui/src/layout/components/Settings/index.vue
浏览文件 @
9f39dfd0
<
template
>
<
template
>
<el-drawer
size=
"280px"
:visible=
"
visible"
:with-header=
"false"
:append-to-body=
"true"
:show-close=
"false
"
>
<el-drawer
size=
"280px"
:visible=
"
showSettings"
:with-header=
"false"
:append-to-body=
"true"
:before-close=
"closeSetting
"
>
<div
class=
"drawer-container"
>
<div
class=
"drawer-container"
>
<div>
<div>
<div
class=
"setting-drawer-content"
>
<div
class=
"setting-drawer-content"
>
...
@@ -78,18 +78,15 @@ import ThemePicker from '@/components/ThemePicker'
...
@@ -78,18 +78,15 @@ import ThemePicker from '@/components/ThemePicker'
export
default
{
export
default
{
components
:
{
ThemePicker
},
components
:
{
ThemePicker
},
expose
:
[
'openSetting'
],
data
()
{
data
()
{
return
{
return
{
theme
:
this
.
$store
.
state
.
settings
.
theme
,
theme
:
this
.
$store
.
state
.
settings
.
theme
,
sideTheme
:
this
.
$store
.
state
.
settings
.
sideTheme
sideTheme
:
this
.
$store
.
state
.
settings
.
sideTheme
,
showSettings
:
false
}
}
},
},
computed
:
{
computed
:
{
visible
:
{
get
()
{
return
this
.
$store
.
state
.
settings
.
showSettings
}
},
fixedHeader
:
{
fixedHeader
:
{
get
()
{
get
()
{
return
this
.
$store
.
state
.
settings
.
fixedHeader
return
this
.
$store
.
state
.
settings
.
fixedHeader
...
@@ -165,6 +162,12 @@ export default {
...
@@ -165,6 +162,12 @@ export default {
})
})
this
.
sideTheme
=
val
this
.
sideTheme
=
val
},
},
openSetting
()
{
this
.
showSettings
=
true
},
closeSetting
(){
this
.
showSettings
=
false
},
saveSetting
()
{
saveSetting
()
{
this
.
$modal
.
loading
(
"正在保存到本地,请稍候..."
)
this
.
$modal
.
loading
(
"正在保存到本地,请稍候..."
)
this
.
$cache
.
local
.
set
(
this
.
$cache
.
local
.
set
(
...
...
ruoyi-ui/src/layout/index.vue
浏览文件 @
9f39dfd0
...
@@ -4,19 +4,16 @@
...
@@ -4,19 +4,16 @@
<sidebar
v-if=
"!sidebar.hide"
class=
"sidebar-container"
/>
<sidebar
v-if=
"!sidebar.hide"
class=
"sidebar-container"
/>
<div
:class=
"
{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
<div
:class=
"
{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
<div
:class=
"
{'fixed-header':fixedHeader}">
<div
:class=
"
{'fixed-header':fixedHeader}">
<navbar/>
<navbar
@
setLayout=
"setLayout"
/>
<tags-view
v-if=
"needTagsView"
/>
<tags-view
v-if=
"needTagsView"
/>
</div>
</div>
<app-main/>
<app-main/>
<right-panel>
<settings
ref=
"settingRef"
/>
<settings/>
</right-panel>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
RightPanel
from
'@/components/RightPanel'
import
{
AppMain
,
Navbar
,
Settings
,
Sidebar
,
TagsView
}
from
'./components'
import
{
AppMain
,
Navbar
,
Settings
,
Sidebar
,
TagsView
}
from
'./components'
import
ResizeMixin
from
'./mixin/ResizeHandler'
import
ResizeMixin
from
'./mixin/ResizeHandler'
import
{
mapState
}
from
'vuex'
import
{
mapState
}
from
'vuex'
...
@@ -27,7 +24,6 @@ export default {
...
@@ -27,7 +24,6 @@ export default {
components
:
{
components
:
{
AppMain
,
AppMain
,
Navbar
,
Navbar
,
RightPanel
,
Settings
,
Settings
,
Sidebar
,
Sidebar
,
TagsView
TagsView
...
@@ -57,6 +53,9 @@ export default {
...
@@ -57,6 +53,9 @@ export default {
methods
:
{
methods
:
{
handleClickOutside
()
{
handleClickOutside
()
{
this
.
$store
.
dispatch
(
'app/closeSideBar'
,
{
withoutAnimation
:
false
})
this
.
$store
.
dispatch
(
'app/closeSideBar'
,
{
withoutAnimation
:
false
})
},
setLayout
()
{
this
.
$refs
.
settingRef
.
openSetting
()
}
}
}
}
}
}
...
...
ruoyi-ui/src/settings.js
浏览文件 @
9f39dfd0
...
@@ -7,7 +7,7 @@ module.exports = {
...
@@ -7,7 +7,7 @@ module.exports = {
/**
/**
* 是否系统布局配置
* 是否系统布局配置
*/
*/
showSettings
:
fals
e
,
showSettings
:
tru
e
,
/**
/**
* 是否显示顶部导航
* 是否显示顶部导航
...
...
ruoyi-ui/src/store/getters.js
浏览文件 @
9f39dfd0
...
@@ -7,13 +7,15 @@ const getters = {
...
@@ -7,13 +7,15 @@ const getters = {
cachedViews
:
state
=>
state
.
tagsView
.
cachedViews
,
cachedViews
:
state
=>
state
.
tagsView
.
cachedViews
,
token
:
state
=>
state
.
user
.
token
,
token
:
state
=>
state
.
user
.
token
,
avatar
:
state
=>
state
.
user
.
avatar
,
avatar
:
state
=>
state
.
user
.
avatar
,
id
:
state
=>
state
.
user
.
id
,
name
:
state
=>
state
.
user
.
name
,
name
:
state
=>
state
.
user
.
name
,
nickName
:
state
=>
state
.
user
.
nickName
,
introduction
:
state
=>
state
.
user
.
introduction
,
introduction
:
state
=>
state
.
user
.
introduction
,
roles
:
state
=>
state
.
user
.
roles
,
roles
:
state
=>
state
.
user
.
roles
,
permissions
:
state
=>
state
.
user
.
permissions
,
permissions
:
state
=>
state
.
user
.
permissions
,
permission_routes
:
state
=>
state
.
permission
.
routes
,
permission_routes
:
state
=>
state
.
permission
.
routes
,
topbarRouters
:
state
=>
state
.
permission
.
topbarRouters
,
topbarRouters
:
state
=>
state
.
permission
.
topbarRouters
,
defaultRoutes
:
state
=>
state
.
permission
.
defaultRoutes
,
defaultRoutes
:
state
=>
state
.
permission
.
defaultRoutes
,
sidebarRouters
:
state
=>
state
.
permission
.
sidebarRouters
sidebarRouters
:
state
=>
state
.
permission
.
sidebarRouters
}
}
export
default
getters
export
default
getters
ruoyi-ui/src/store/modules/user.js
浏览文件 @
9f39dfd0
...
@@ -8,6 +8,7 @@ const user = {
...
@@ -8,6 +8,7 @@ const user = {
token
:
getToken
(),
token
:
getToken
(),
id
:
''
,
id
:
''
,
name
:
''
,
name
:
''
,
nickName
:
''
,
avatar
:
''
,
avatar
:
''
,
roles
:
[],
roles
:
[],
permissions
:
[]
permissions
:
[]
...
@@ -23,6 +24,9 @@ const user = {
...
@@ -23,6 +24,9 @@ const user = {
SET_NAME
:
(
state
,
name
)
=>
{
SET_NAME
:
(
state
,
name
)
=>
{
state
.
name
=
name
state
.
name
=
name
},
},
SET_NICK_NAME
:
(
state
,
nickName
)
=>
{
state
.
nickName
=
nickName
},
SET_AVATAR
:
(
state
,
avatar
)
=>
{
SET_AVATAR
:
(
state
,
avatar
)
=>
{
state
.
avatar
=
avatar
state
.
avatar
=
avatar
},
},
...
@@ -69,6 +73,7 @@ const user = {
...
@@ -69,6 +73,7 @@ const user = {
}
}
commit
(
'SET_ID'
,
user
.
userId
)
commit
(
'SET_ID'
,
user
.
userId
)
commit
(
'SET_NAME'
,
user
.
userName
)
commit
(
'SET_NAME'
,
user
.
userName
)
commit
(
'SET_NICK_NAME'
,
user
.
nickName
)
commit
(
'SET_AVATAR'
,
avatar
)
commit
(
'SET_AVATAR'
,
avatar
)
resolve
(
res
)
resolve
(
res
)
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论