diff --git a/src/guards.js b/src/guards.js
index 6895ee700..1d26f8a87 100644
--- a/src/guards.js
+++ b/src/guards.js
@@ -3,6 +3,7 @@ import router from './router'
import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style
import { startup } from '@/utils/startup'
+import store from '@/store'
NProgress.configure({
showSpinner: false
@@ -20,8 +21,24 @@ router.beforeEach(async(to, from, next) => {
}
})
-router.afterEach(() => {
+function generateViewRoutesIfChange({ to, from }) {
+ const fromView = from?.path.split('/')[1]
+ const toView = to?.path.split('/')[1]
+ if (fromView !== toView) {
+ return store.dispatch('permission/generateViewRoutes', { to: to, from: from })
+ }
+}
+
+function setPageTitle() {
+ const currentRoute = router.currentRoute
+ const loginTitle = store.getters.publicSettings['LOGIN_TITLE']
+ document.title = currentRoute.meta.title + ' - ' + loginTitle
+}
+
+router.afterEach(async(to, from) => {
// finish progress bar
+ await setPageTitle()
NProgress.done()
+ await generateViewRoutesIfChange({ to, from })
})
diff --git a/src/i18n/langs/cn.json b/src/i18n/langs/cn.json
index b2180f8fc..37d309402 100644
--- a/src/i18n/langs/cn.json
+++ b/src/i18n/langs/cn.json
@@ -425,8 +425,9 @@
"isValid": "有效",
"nav": {
"APIKey": "API Key",
- "AdminPage": "管理视图",
- "AuditPage": "审计视图",
+ "Workspace": "工作台",
+ "Console": "控制台",
+ "Audits": "审计台",
"HomePage": "首页",
"QuickAccess": "快速访问",
"SwitchPage": "切换视图",
@@ -654,6 +655,7 @@
},
"route": {
"": "",
+ "WorkBench": "工作台",
"Role": "角色",
"RoleDetail": "角色详情",
"RoleList": "角色列表",
diff --git a/src/layout/components/NavHeader/AccountDropdown.vue b/src/layout/components/NavHeader/AccountDropdown.vue
index 5f3fc8f15..3385ea719 100644
--- a/src/layout/components/NavHeader/AccountDropdown.vue
+++ b/src/layout/components/NavHeader/AccountDropdown.vue
@@ -70,17 +70,12 @@ export default {
},
methods: {
handleClick(val) {
- const fromRoute = this.$route
switch (val) {
case 'profile':
- this.$router.push('/users/profile', () => {
- store.dispatch('permission/generateViewRoutes', { to: this.$route, from: fromRoute })
- })
+ this.$router.push('/users/profile')
break
case 'settings':
- this.$router.push('/settings', () => {
- store.dispatch('permission/generateViewRoutes', { to: this.$route, from: fromRoute })
- })
+ this.$router.push('/settings')
break
case 'adminPage':
if (this.hasCurrentOrgAdminPagePerm) {
diff --git a/src/layout/components/NavHeader/Tickets.vue b/src/layout/components/NavHeader/Tickets.vue
index 6049c47fe..64c9e4444 100644
--- a/src/layout/components/NavHeader/Tickets.vue
+++ b/src/layout/components/NavHeader/Tickets.vue
@@ -10,7 +10,6 @@