text: import { constantRouterMap } from '@/router'
  import Layout from '@/views/layout/Layout'
  
  const permission = {
    state: {
      routers: constantRouterMap,
      addRouters: []
    },
    mutations: {
      SET_ROUTERS: (state, routers) => {
        state.addRouters = routers
        state.routers = constantRouterMap.concat(routers)
      }
    },
    actions: {
      GenerateRoutes({ commit }, asyncRouter) {
        commit('SET_ROUTERS', asyncRouter)
      }
    }
  }
  
  export const filterAsyncRouter = (routers) => { // 遍历后台传来的路由字符串，转换为组件对象
    const accessedRouters = routers.filter(router => {
      if (router.component) {
        if (router.component === 'Layout') { // Layout组件特殊处理
          router.component = Layout
        } else {
          const component = router.component
          router.component = loadView(component)
        }
      }
      if (router.children && router.children.length) {
        router.children = filterAsyncRouter(router.children)
      }
      return true
    })
    return accessedRouters
  }
  
  export const loadView = (view) => { // 路由懒加载
    return () => import(/* webpackChunkName: "view-[request]" */ `@/views/${view}.vue`)
  }
  
  export default permission
  