Blame view

src/router/permission.js 1.63 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
      if (store.getters.token) {
e5e4a3e6   梁保满   v1.3
12
13
14
        if (to.path == '/device' && from.path == '/deviceLog') {
          to.query.back = true
        }
42056450   阿宝   权限修改
15
        next();
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
16
      } else {
42056450   阿宝   权限修改
17
18
19
20
21
22
        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   梁保满   平台管理员接口联调
23
          store.commit("setRouters", [...authorityRouterObj[0]?.authorityRouter]);
42056450   阿宝   权限修改
24
25
26
27
28
29
30
31
32
33
34
          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   梁保满   备课组题细节调整,随堂问列表页面开发完成
35
        } else {
42056450   阿宝   权限修改
36
37
          if (store.getters.code) {
            next();
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
38
          } else {
42056450   阿宝   权限修改
39
40
41
42
43
            if (to.path === "/login") {
              next();
            } else {
              next({ path: "/login" });
            }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
44
          }
29f8fb90   梁保满   刷新浏览器重新动态添加路由
45
        }
c1b532ad   梁保满   权限配置,路由基础设置
46
      }
c1b532ad   梁保满   权限配置,路由基础设置
47
    }
42056450   阿宝   权限修改
48
  });
c1b532ad   梁保满   权限配置,路由基础设置
49
50
  
  router.afterEach(() => {
42056450   阿宝   权限修改
51
52
    NProgress.done();
  });
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
53
54
55
56
  router.onError((error) => {
    const pattern = /Loading chunk (\d)+ failed/g;
    const isChunkLoadFailed = error.message.match(pattern);
    const targetPath = router.history.pending.fullPath;
42056450   阿宝   权限修改
57
58
59
    if (isChunkLoadFailed) {
      router.replace(targetPath);
    }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
60
  });