From 96157bb18dc8cef2c23ef1178bb5a825658104cd Mon Sep 17 00:00:00 2001 From: "Jiangjie.Bai" <32935519+BaiJiangJie@users.noreply.github.com> Date: Mon, 21 Feb 2022 16:24:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20rbac=20=E5=90=88=E5=B9=B6=20(#1329)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf: 修改 route name * fix: perm app router * fix: 修复资产应用授权路由权限问题 * feat: home页放到user里,调整文件位置 * perf: 修复 view change routers (#1326) Co-authored-by: ibuler * fix: 修复搜集用户 改密计划 账号备份路由 * feat: 终端管理、存储配置文件路径修改,放到系统设置中显示 Co-authored-by: ibuler Co-authored-by: feng626 <1304903146@qq.com> Co-authored-by: “怀磊” <2280131253@qq.com> Co-authored-by: fit2bot <68588906+fit2bot@users.noreply.github.com> --- src/guards.js | 19 ++- src/i18n/langs/cn.json | 6 +- .../components/NavHeader/AccountDropdown.vue | 9 +- src/layout/components/NavHeader/Tickets.vue | 6 +- .../components/NavHeader/ViewSwitcher.vue | 6 +- src/layout/components/NavHeader/index.vue | 8 +- src/router/admin/sessions.js | 116 ------------------ src/router/audit/index.js | 4 +- src/router/{admin => console}/accounts.js | 14 ++- src/router/{admin => console}/acls.js | 0 src/router/{admin => console}/applications.js | 0 src/router/{admin => console}/assets.js | 4 +- src/router/{admin => console}/index.js | 28 ++--- src/router/{admin => console}/ops.js | 4 +- src/router/{admin => console}/perms.js | 5 +- src/router/console/sessions.js | 46 +++++++ src/router/{admin => console}/users.js | 0 src/router/{admin => console}/xpack.js | 0 src/router/index.js | 25 +--- src/router/profile/index.js | 12 +- src/router/settings/index.js | 74 ++++++++++- src/router/{user => workspace}/index.js | 27 ++-- src/utils/startup.js | 1 - .../components/Announcement.vue | 0 .../{home => myhome}/components/Assect.vue | 0 .../{home => myhome}/components/HomeCard.vue | 0 src/views/{home => myhome}/components/Log.vue | 0 .../{home => myhome}/components/Session.vue | 0 .../{home => myhome}/components/Ticket.vue | 0 .../{home => myhome}/components/User.vue | 0 src/views/{home => myhome}/index.vue | 7 -- .../Terminal/{Terminal.vue => Base.vue} | 0 .../Terminal}/Storage/CommandStorage.vue | 0 .../Storage}/CommandStorageCreateUpdate.vue | 0 .../Terminal}/Storage/ReplayStorage.vue | 0 .../Storage}/ReplayStorageCreateUpdate.vue | 2 +- .../Terminal}/Storage/index.vue | 0 src/views/settings/Terminal/TerminalList.vue | 7 +- src/views/settings/Terminal/index.vue | 2 +- 39 files changed, 221 insertions(+), 211 deletions(-) delete mode 100644 src/router/admin/sessions.js rename src/router/{admin => console}/accounts.js (96%) rename src/router/{admin => console}/acls.js (100%) rename src/router/{admin => console}/applications.js (100%) rename src/router/{admin => console}/assets.js (98%) rename src/router/{admin => console}/index.js (84%) rename src/router/{admin => console}/ops.js (89%) rename src/router/{admin => console}/perms.js (95%) create mode 100644 src/router/console/sessions.js rename src/router/{admin => console}/users.js (100%) rename src/router/{admin => console}/xpack.js (100%) rename src/router/{user => workspace}/index.js (85%) rename src/views/{home => myhome}/components/Announcement.vue (100%) rename src/views/{home => myhome}/components/Assect.vue (100%) rename src/views/{home => myhome}/components/HomeCard.vue (100%) rename src/views/{home => myhome}/components/Log.vue (100%) rename src/views/{home => myhome}/components/Session.vue (100%) rename src/views/{home => myhome}/components/Ticket.vue (100%) rename src/views/{home => myhome}/components/User.vue (100%) rename src/views/{home => myhome}/index.vue (93%) rename src/views/settings/Terminal/{Terminal.vue => Base.vue} (100%) rename src/views/{sessions => settings/Terminal}/Storage/CommandStorage.vue (100%) rename src/views/{sessions => settings/Terminal/Storage}/CommandStorageCreateUpdate.vue (100%) rename src/views/{sessions => settings/Terminal}/Storage/ReplayStorage.vue (100%) rename src/views/{sessions => settings/Terminal/Storage}/ReplayStorageCreateUpdate.vue (96%) rename src/views/{sessions => settings/Terminal}/Storage/index.vue (100%) 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 @@