5
5
<breadcrumb class =" breadcrumb-container" />
6
6
<div class =" right-menu" >
7
7
<search ></search >
8
+ <lang-switch ></lang-switch >
8
9
<div id =" Message" >
9
10
<el-dropdown >
10
11
<el-badge :value =" messageNum" :max =" 99" class =" message-badge" type =" danger" >
24
25
</el-dropdown >
25
26
</div >
26
27
<el-button id =" fullScreen" class =" full-screen" >
27
- <el-tooltip content =" 全屏浏览 " effect =" dark" placement =" left" >
28
+ <el-tooltip : content =" langConfig.header.fullScreen[lang] " effect =" dark" placement =" left" >
28
29
<i v-show =" fullScreen == false" class =" el-icon-full-screen" @click =" toShowFullScreen()" ></i >
29
30
</el-tooltip >
30
- <el-tooltip content =" 退出全屏 " effect =" dark" placement =" left" >
31
+ <el-tooltip : content =" langConfig.header.exitFullScreen[lang] " effect =" dark" placement =" left" >
31
32
<i v-show =" fullScreen == true" class =" el-icon-bottom-left" @click =" toExitFullScreen()" ></i >
32
33
</el-tooltip >
33
34
</el-button >
39
40
<template #dropdown >
40
41
<el-dropdown-menu class =" user-dropdown" >
41
42
<router-link to =" /" >
42
- <el-dropdown-item >首页 </el-dropdown-item >
43
+ <el-dropdown-item >{{ langConfig.header.user.homePage[lang] }} </el-dropdown-item >
43
44
</router-link >
44
45
<router-link to =" /personal/personalCenter" >
45
- <el-dropdown-item >个人中心 </el-dropdown-item >
46
+ <el-dropdown-item >{{ langConfig.header.user.personalCenter[lang] }} </el-dropdown-item >
46
47
</router-link >
47
48
<router-link to =" /personal/personalSetting" >
48
- <el-dropdown-item >个人设置 </el-dropdown-item >
49
+ <el-dropdown-item >{{ langConfig.header.user.personalSetting[lang] }} </el-dropdown-item >
49
50
</router-link >
50
51
<el-dropdown-item divided >
51
- <span style =" display : block " @click =" logout" >退出登录 </span >
52
+ <span style =" display : block " @click =" logout" >{{ langConfig.header.user.logout[lang] }} </span >
52
53
</el-dropdown-item >
53
54
</el-dropdown-menu >
54
55
</template >
@@ -62,17 +63,20 @@ import { defineComponent, computed, ref } from 'vue'
62
63
import Hamburger from ' @/components/Hamburger/Hamburger.vue'
63
64
import Breadcrumb from ' @/components/Breadcrumb/index.vue'
64
65
import Search from ' @/components/Search/index.vue'
66
+ import LangSwitch from ' @/components/LangSwitch/index.vue'
65
67
import avatar from ' @/assets/avatar-default.jpg'
66
68
import { useRouter } from ' vue-router'
67
69
import { toFullScreen , exitFullScreen } from ' @/utils/screen'
68
70
import { useStore } from ' @/store/index'
71
+ import { langConfig } from ' @/utils/constant/config'
69
72
70
73
export default defineComponent ({
71
74
name: ' Navbar' ,
72
75
components: {
73
76
Hamburger ,
74
77
Breadcrumb ,
75
- Search
78
+ Search ,
79
+ LangSwitch
76
80
},
77
81
props: {
78
82
primary: {
@@ -84,12 +88,13 @@ export default defineComponent({
84
88
const router = useRouter ()
85
89
const store = useStore ()
86
90
const opened = computed (() => store .getters [' appModule/getSidebarState' ])
87
- const nickname = computed (() => JSON .parse (localStorage .getItem (' userInfo' ) as string )?.userName ?? ' 极客恰恰' )
88
91
const fullScreen = ref (false )
89
92
const messageNum = computed (() => store .getters [' messageModule/getMessageNum' ])
93
+ const lang = computed ((): string => store .getters [' settingsModule/getLangState' ])
94
+ const nickname = computed (() => JSON .parse (localStorage .getItem (' userInfo' ) as string )?.userName ?? ' 极客恰恰' )
95
+
90
96
// methods
91
97
const toggleSideBar = () => {
92
- console .log (' into toggleSideBar' )
93
98
store .dispatch (' appModule/toggleSideBar' )
94
99
}
95
100
@@ -109,6 +114,7 @@ export default defineComponent({
109
114
110
115
router .replace (' /login' )
111
116
}
117
+
112
118
return {
113
119
messageNum ,
114
120
toShowFullScreen ,
@@ -117,9 +123,11 @@ export default defineComponent({
117
123
exitFullScreen ,
118
124
fullScreen ,
119
125
nickname ,
126
+ lang ,
120
127
avatar ,
121
128
toggleSideBar ,
122
129
opened ,
130
+ langConfig ,
123
131
logout
124
132
}
125
133
}
@@ -166,6 +174,7 @@ export default defineComponent({
166
174
& :focus {
167
175
outline : none ;
168
176
}
177
+
169
178
.message-badge {
170
179
.is-fixed {
171
180
top : 12px !important ;
0 commit comments