Blame view

src/store/modules/permission.js 1.76 KB
477ec56f   monkeyhouyi   权限
1
  import { constantRoutes } from '@/router'
0e2463be   monkeyhouyi   系统修改记录
2
  import Layout from '@/views/homePage/HomePage.vue'
477ec56f   monkeyhouyi   权限
3
  import baseRouters from '@/router/modules/base'
9b7e125f   monkeyhouyi   属地页面
4
5
6
7
  
  const permission = {
    state: {
      routes: [],
0af91599   monkeyhouyi   弹框请求优化
8
9
10
11
      addRoutes: [],
      defaultRoutes: [],
      topbarRouters: [],
      sidebarRouters: []
9b7e125f   monkeyhouyi   属地页面
12
13
14
15
16
    },
    mutations: {
      SET_ROUTES: (state, routes) => {
        state.addRoutes = routes
        state.routes = constantRoutes.concat(routes)
0af91599   monkeyhouyi   弹框请求优化
17
18
19
20
21
22
23
24
25
26
      },
      SET_DEFAULT_ROUTES: (state, routes) => {
        state.defaultRoutes = constantRoutes.concat(routes)
      },
      SET_TOPBAR_ROUTES: (state, routes) => {
        state.topbarRouters = routes
      },
      SET_SIDEBAR_ROUTERS: (state, routes) => {
        state.sidebarRouters = routes
      },
9b7e125f   monkeyhouyi   属地页面
27
28
    },
    actions: {
477ec56f   monkeyhouyi   权限
29
      generateRoutes({ commit }, route) {
9b7e125f   monkeyhouyi   属地页面
30
        return new Promise(resolve => {
477ec56f   monkeyhouyi   权限
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
          let accessedRoutes
          let dtRoutes = {
            path: '/',
            component: Layout,
            redirect: '/homePage',
            children: [
              ...baseRouters,
              ...route,
              {
                path: '/404',
                component: (resolve) => require(['@/views/error-page/404'], resolve),
                hidden: true
              },
            ]
          };
          accessedRoutes = [
            dtRoutes,
            {
              path: '*',
              redirect: '/404',
              hidden: true
            }
          ]
          console.log(accessedRoutes, baseRouters);
          commit('SET_ROUTES', accessedRoutes)
          resolve(accessedRoutes)
9b7e125f   monkeyhouyi   属地页面
57
58
59
60
61
        })
      }
    }
  }
  
9b7e125f   monkeyhouyi   属地页面
62
  
9b7e125f   monkeyhouyi   属地页面
63
64
65
66
67
68
69
70
71
72
73
  
  export const loadView = (view) => {
    if (process.env.NODE_ENV === 'development') {
      return (resolve) => require([`@/views/${view}`], resolve)
    } else {
      // 使用 import 实现生产环境的路由懒加载
      return () => import(`@/views/${view}`)
    }
  }
  
  export default permission