Blame view

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