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 @@