Skip to content

Commit b6147d3

Browse files
committed
remove permission control
1 parent b0f58ee commit b6147d3

File tree

8 files changed

+13
-114
lines changed

8 files changed

+13
-114
lines changed

src/layout/components/Sidebar/index.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
:collapse-transition="false"
1313
mode="vertical"
1414
>
15-
<sidebar-item v-for="route in permission_routes" :key="route.path" :item="route" :base-path="route.path" />
15+
<sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />
1616
</el-menu>
1717
</el-scrollbar>
1818
</div>
@@ -28,9 +28,11 @@ export default {
2828
components: { SidebarItem, Logo },
2929
computed: {
3030
...mapGetters([
31-
'permission_routes',
3231
'sidebar'
3332
]),
33+
routes() {
34+
return this.$router.options.routes
35+
},
3436
activeMenu() {
3537
const route = this.$route
3638
const { meta, path } = route

src/permission.js

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,15 @@ router.beforeEach(async(to, from, next) => {
2626
next({ path: '/' })
2727
NProgress.done()
2828
} else {
29-
// determine whether the user has obtained his permission roles through getInfo
30-
const hasRoles = store.getters.roles && store.getters.roles.length > 0
31-
if (hasRoles) {
29+
const hasGetUserInfo = store.getters.name
30+
if (hasGetUserInfo) {
3231
next()
3332
} else {
3433
try {
3534
// get user info
36-
// note: roles must be a object array! such as: ['admin'] or ,['developer','editor']
37-
const { roles } = await store.dispatch('user/getInfo')
35+
await store.dispatch('user/getInfo')
3836

39-
// generate accessible routes map based on roles
40-
const accessRoutes = await store.dispatch('permission/generateRoutes', roles)
41-
42-
// dynamically add accessible routes
43-
router.addRoutes(accessRoutes)
44-
45-
// hack method to ensure that addRoutes is complete
46-
// set the replace: true, so the navigation will not leave a history record
47-
next({ ...to, replace: true })
37+
next()
4838
} catch (error) {
4939
// remove token and go to login page to re-login
5040
await store.dispatch('user/resetToken')

src/router/index.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,8 @@ export const constantRoutes = [
8888
meta: { title: 'Form', icon: 'form' }
8989
}
9090
]
91-
}
92-
]
91+
},
9392

94-
/**
95-
* asyncRoutes
96-
* the routes that need to be dynamically loaded based on user roles
97-
*/
98-
export const asyncRoutes = [
9993
{
10094
path: '/nested',
10195
component: Layout,

src/store/getters.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ const getters = {
33
device: state => state.app.device,
44
token: state => state.user.token,
55
avatar: state => state.user.avatar,
6-
name: state => state.user.name,
7-
roles: state => state.user.roles,
8-
permission_routes: state => state.permission.routes
6+
name: state => state.user.name
97
}
108
export default getters

src/store/index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import Vue from 'vue'
22
import Vuex from 'vuex'
33
import getters from './getters'
44
import app from './modules/app'
5-
import permission from './modules/permission'
65
import settings from './modules/settings'
76
import user from './modules/user'
87

@@ -11,7 +10,6 @@ Vue.use(Vuex)
1110
const store = new Vuex.Store({
1211
modules: {
1312
app,
14-
permission,
1513
settings,
1614
user
1715
},

src/store/modules/permission.js

Lines changed: 0 additions & 69 deletions
This file was deleted.

src/store/modules/user.js

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { resetRouter } from '@/router'
55
const state = {
66
token: getToken(),
77
name: '',
8-
avatar: '',
9-
roles: []
8+
avatar: ''
109
}
1110

1211
const mutations = {
@@ -18,9 +17,6 @@ const mutations = {
1817
},
1918
SET_AVATAR: (state, avatar) => {
2019
state.avatar = avatar
21-
},
22-
SET_ROLES: (state, roles) => {
23-
state.roles = roles
2420
}
2521
}
2622

@@ -50,14 +46,8 @@ const actions = {
5046
reject('Verification failed, please Login again.')
5147
}
5248

53-
const { roles, name, avatar } = data
54-
55-
// roles must be a non-empty array
56-
if (!roles || roles.length <= 0) {
57-
reject('getInfo: roles must be a non-null array!')
58-
}
49+
const { name, avatar } = data
5950

60-
commit('SET_ROLES', roles)
6151
commit('SET_NAME', name)
6252
commit('SET_AVATAR', avatar)
6353
resolve(data)
@@ -72,7 +62,6 @@ const actions = {
7262
return new Promise((resolve, reject) => {
7363
logout(state.token).then(() => {
7464
commit('SET_TOKEN', '')
75-
commit('SET_ROLES', [])
7665
removeToken()
7766
resetRouter()
7867
resolve()
@@ -86,7 +75,6 @@ const actions = {
8675
resetToken({ commit }) {
8776
return new Promise(resolve => {
8877
commit('SET_TOKEN', '')
89-
commit('SET_ROLES', [])
9078
removeToken()
9179
resolve()
9280
})

src/views/dashboard/index.vue

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<template>
22
<div class="dashboard-container">
33
<div class="dashboard-text">name: {{ name }}</div>
4-
<div class="dashboard-text">roles: <span v-for="role in roles" :key="role">{{ role }}</span></div>
54
</div>
65
</template>
76

@@ -12,8 +11,7 @@ export default {
1211
name: 'Dashboard',
1312
computed: {
1413
...mapGetters([
15-
'name',
16-
'roles'
14+
'name'
1715
])
1816
}
1917
}

0 commit comments

Comments
 (0)