Blame view

src/router/permission.js 2 KB
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
  });