import { constantRoutes } from '@/router' /* Layout */ import Layout from '@/layout' import baseRouters from '@/router/modules/base' const state = { routes: [], addRoutes: [] } const mutations = { SET_ROUTES: (state, routes) => { state.addRoutes = routes state.routes = constantRoutes.concat(routes) } } const actions = { generateRoutes({ commit }, route) { return new Promise(resolve => { let accessedRoutes let dtRoutes = { path: '/', component: Layout, redirect: '/home', children: [ ...baseRouters, ...route, { path: '/404', component: (resolve) => require(['@/views/error-page/404'], resolve), hidden: true }, ] }; accessedRoutes = [ dtRoutes, { path: '*', redirect: '/404', hidden: true } ] commit('SET_ROUTES', accessedRoutes) resolve(accessedRoutes) }) } } export default { namespaced: true, //需要加上所属的模块名 state, mutations, actions }