permission.js
2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import NProgress from "nprogress"
import router from "./index"
import store from "../store"
// 获取角色信息,根据用户权限动态加载路由
router.beforeEach((to, from, next) => {
NProgress.start()
if (store.getters.token) {
if (to.path === "/login") {
next()
} else {
// if (!store.getters.info.permissions) {
// next({ path: to.path })
// } else {
// let is404 = to.matched.some(record => {
// if (record.meta.role) {
// return store.getters.info.authorityRouter === -1
// }
// })
// if (is404) {
// next({ path: "/404" })
// return false
// }
next()
// }
}
} else {
if (to.path === "/login") {
next()
}
next({ path: "/login" })
}
})
router.afterEach(() => {
NProgress.done()
})
// // 真实使用
// import fetchUser from "@/api/apis/user"
//
// router.beforeEach((to, from, next) => {
// if (store.getters.token && store.getters.token !== "undefined") {
// // store.dispatch('setToken', store.getters.token)
// if (to.path === "/login") {
// next({path: "/"})
// } else {
// if (!store.getters.info) {
// (async function getAddRouters () {
// fetchUser.fetchGetUserInfo().then(async function (response) {
// await store.dispatch("setInfo", response.data)
// await store.dispatch("newRoutes", store.getters.info.authorityRouter)
// await router.addRoutes(store.getters.addRouters)
// next({path: "/index"})
// }).catch(function (error) {
// console.log(error)
// })
// }())
// } else {
// let is404 = to.matched.some(record => {
// console.log(record)
// if (record.meta.role) {
// return store.getters.info.authorityRouter === -1
// }
// })
// if (is404) {
// next({path: "/404"})
// return false
// }
// next()
// }
// }
// } else {
// if (to.path === "/login") {
// next()
// }
// next({path: "/login"})
// }
// })