Blame view

src/router/permission.js 2.04 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
    NProgress.start();
d01c5799   梁保满   随堂问 报表开发
8
9
10
11
12
13
14
15
16
17
18
    let fromRouteName = from.name
    if (fromRouteName == '随堂问报表分析') {
      sessionStorage.setItem('isFromAskDetail', 1)
    } else {
      sessionStorage.setItem('isFromAskDetail', "")
    }
    if (fromRouteName == '即时测报表分析') {
      sessionStorage.setItem('isFromTestDetail', 1)
    } else {
      sessionStorage.setItem('isFromTestDetail', "")
    }
42056450   阿宝   权限修改
19
20
    if (to.path === "/login") {
      next();
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
21
    } else {
42056450   阿宝   权限修改
22
      if (store.getters.token) {
8243c409   梁保满   设备错误列表返回,设备分析对比项数量限制
23
        if ((to.path == '/device' && from.path == '/deviceLog') || (to.path == '/device' && from.path == '/deviceError')) {
e5e4a3e6   梁保满   v1.3
24
25
          to.query.back = true
        }
42056450   阿宝   权限修改
26
        next();
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
27
      } else {
42056450   阿宝   权限修改
28
29
30
31
32
33
        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;
          });
c2460294   梁保满   平台管理员接口联调
34
          store.commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
42056450   阿宝   权限修改
35
36
37
38
39
40
41
42
43
44
45
          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   梁保满   备课组题细节调整,随堂问列表页面开发完成
46
        } else {
42056450   阿宝   权限修改
47
48
          if (store.getters.code) {
            next();
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
49
          } else {
42056450   阿宝   权限修改
50
51
52
53
54
            if (to.path === "/login") {
              next();
            } else {
              next({ path: "/login" });
            }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
55
          }
29f8fb90   梁保满   刷新浏览器重新动态添加路由
56
        }
c1b532ad   梁保满   权限配置,路由基础设置
57
      }
c1b532ad   梁保满   权限配置,路由基础设置
58
    }
42056450   阿宝   权限修改
59
  });
c1b532ad   梁保满   权限配置,路由基础设置
60
61
  
  router.afterEach(() => {
42056450   阿宝   权限修改
62
63
    NProgress.done();
  });
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
64
65
66
67
  router.onError((error) => {
    const pattern = /Loading chunk (\d)+ failed/g;
    const isChunkLoadFailed = error.message.match(pattern);
    const targetPath = router.history.pending.fullPath;
42056450   阿宝   权限修改
68
69
70
    if (isChunkLoadFailed) {
      router.replace(targetPath);
    }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
71
  });