42056450
阿宝
权限修改
|
1
2
3
|
import NProgress from "nprogress";
import router from "./index";
import store from "../store";
|
c1b532ad
梁保满
权限配置,路由基础设置
|
4
5
6
|
// 获取角色信息,根据用户权限动态加载路由
router.beforeEach((to, from, next) => {
|
42056450
阿宝
权限修改
|
7
8
9
|
NProgress.start();
if (to.path === "/login") {
next();
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
10
|
} else {
|
42056450
阿宝
权限修改
|
11
12
|
if (store.getters.token) {
next();
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
13
|
} else {
|
42056450
阿宝
权限修改
|
14
15
16
17
18
19
20
|
if (store.getters.info && store.getters.addRouters) {
store.commit("setToken", "isLogin");
let userInfo = store.getters.info;
let authorityRouterObj = userInfo.permissions.filter((item) => {
return item.roleName == userInfo.showRoleName;
});
console.log([...authorityRouterObj[0]?.authorityRouter])
|
77ebf04d
梁保满
个人版
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
// store.commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
//start 开发用,测试删除
store.commit("setRouters", [
"setUpStudent",
"examinationPaper",
"examinationPaperAdd",
"examinationPaperEdit",
"examinationPaperRecycle",
"ask",
"askAnalysis",
"test",
"testAnalysis",
"portrait",
"dataSync",
"down",
]);
//end
|
42056450
阿宝
权限修改
|
40
41
42
43
44
45
46
47
48
49
50
|
store.commit("setInfo", { ...userInfo });
store.getters.addRouters.forEach((res) => {
router.addRoute(res);
});
router.addRoute({
path: "*",
redirect: "/404",
hidden: true,
children: [],
});
next({ path: to.fullPath });
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
51
|
} else {
|
42056450
阿宝
权限修改
|
52
53
|
if (store.getters.code) {
next();
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
54
|
} else {
|
42056450
阿宝
权限修改
|
55
56
57
58
59
|
if (to.path === "/login") {
next();
} else {
next({ path: "/login" });
}
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
60
|
}
|
29f8fb90
梁保满
刷新浏览器重新动态添加路由
|
61
|
}
|
c1b532ad
梁保满
权限配置,路由基础设置
|
62
|
}
|
c1b532ad
梁保满
权限配置,路由基础设置
|
63
|
}
|
42056450
阿宝
权限修改
|
64
|
});
|
c1b532ad
梁保满
权限配置,路由基础设置
|
65
66
|
router.afterEach(() => {
|
42056450
阿宝
权限修改
|
67
68
|
NProgress.done();
});
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
69
70
71
72
|
router.onError((error) => {
const pattern = /Loading chunk (\d)+ failed/g;
const isChunkLoadFailed = error.message.match(pattern);
const targetPath = router.history.pending.fullPath;
|
42056450
阿宝
权限修改
|
73
74
75
|
if (isChunkLoadFailed) {
router.replace(targetPath);
}
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
76
|
});
|