diff --git a/src/main.js b/src/main.js index dc770eb512f231e976e023986ec4ae8ebef98712..dd759e8d06dc24b3e6e000c83844ab03c643d6aa 100644 --- a/src/main.js +++ b/src/main.js @@ -48,7 +48,7 @@ router.beforeEach((to, from, next) => { next({ path: '/' }); } else { if (to.meta && to.meta.role) { // 判æ–å³å°†è¿›å…¥çš„页颿˜¯å¦éœ€è¦æƒé™ - if (store.getters.uid) { // 判æ–当å‰ç”¨æˆ·æ˜¯å¦å·²æ‹‰å–完infoä¿¡æ¯ + if (store.getters.roles.length !== 0) { // 判æ–当å‰ç”¨æˆ·æ˜¯å¦å·²æ‹‰å–完infoä¿¡æ¯ if (hasPermission(store.getters.roles, to.meta.role)) { // åˆ¤æ–æƒé™ next(); // 有æƒé™ } else { @@ -70,7 +70,20 @@ router.beforeEach((to, from, next) => { }); } } else { // 页é¢ä¸éœ€è¦æƒé™ 直接进入 - next(); + console.log(store.getters.roles) + if (store.getters.roles.length !== 0) { + next(); + } else { + store.dispatch('GetInfo').then(() => { + permission.init({ + roles: store.getters.roles, + router: router.options.routes + }); + next(); + }).catch(err => { + console.log(err); + }); + } } } } else { diff --git a/src/mock/login.js b/src/mock/login.js index b3609ef9b72023166ab7d00a752b03ad9b355a8f..38e7d50ecc3830d00c97148d802d042a45873c4f 100644 --- a/src/mock/login.js +++ b/src/mock/login.js @@ -30,7 +30,6 @@ const userMap = { export default { loginByEmail: config => { - console.log(config) const { email } = JSON.parse(config.body); return userMap[email.split('@')[0]]; }, diff --git a/src/views/layout/Layout.vue b/src/views/layout/Layout.vue index 168f8f816b5c12ec13d86c1d843ee0125dfb95f1..693456ca010c23a55668921dd7675cb5a76e1f08 100644 --- a/src/views/layout/Layout.vue +++ b/src/views/layout/Layout.vue @@ -12,9 +12,7 @@ <script> import { Navbar, Sidebar, AppMain } from 'views/layout'; - import store from 'store'; - import router from 'router'; - import permission from 'store/permission'; + export default { name: 'layout', components: { @@ -26,22 +24,6 @@ sidebar() { return this.$store.state.app.sidebar; } - }, - beforeRouteEnter: (to, from, next) => { - const roles = store.getters.roles; - if (roles.length !== 0) { - next(); - return - } - store.dispatch('GetInfo').then(() => { - permission.init({ - roles: store.getters.roles, - router: router.options.routes - }); - next(); - }).catch(err => { - console.log(err); - }); } } </script>