From 5b2f7d7c9defb8c22b9d0d70d16a90697651bb73 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Sun, 30 Sep 2018 17:36:57 +0800 Subject: [PATCH] =?UTF-8?q?#=20=E4=BC=98=E5=8C=96=E6=9D=83=E9=99=90?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mock/login.js | 2 +- src/router/index.js | 1 + src/views/dashboard/index.vue | 7 ++++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mock/login.js b/src/mock/login.js index cf7201c..b9694f0 100644 --- a/src/mock/login.js +++ b/src/mock/login.js @@ -1,4 +1,4 @@ - import { param2Obj } from '@/utils' +import { param2Obj } from '@/utils' const userMap = { admin: { diff --git a/src/router/index.js b/src/router/index.js index d125785..c71981c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -131,6 +131,7 @@ export const asyncRouterMap = [ { path: '/settings/system', component: Layout, + meta: { roles: ['admin'] }, children: [{ path: 'index', component: () => import('@/views/settings/system'), diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 046f6e3..6d1b242 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -14,6 +14,7 @@ export default { components: { adminDashboard, editorDashboard }, data() { return { + allowRoles: ['admin', 'customer'], currentRole: 'adminDashboard' } }, @@ -23,7 +24,11 @@ export default { ]) }, created() { - if (!this.roles.includes('admin')) { + const adminDashboardRoles = new Set(['admin', 'customer']) + const userRoles = new Set(this.roles) + const intersection = new Set([...userRoles].filter(role => adminDashboardRoles.has(role))) + console.log(intersection.size) + if (intersection.size === 0) { this.currentRole = 'editorDashboard' } }