async-router.js 785 B

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * 向后端请求用户的菜单,动态生成路由
  3. */
  4. import { constantRouterMap } from '@/config/router.config'
  5. import { generatorDynamicRouter } from '@/router/generator-routers'
  6. const permission = {
  7. state: {
  8. routers: constantRouterMap,
  9. addRouters: []
  10. },
  11. mutations: {
  12. SET_ROUTERS: (state, routers) => {
  13. state.addRouters = routers
  14. state.routers = constantRouterMap.concat(routers)
  15. }
  16. },
  17. actions: {
  18. GenerateRoutes ({ commit }, data) {
  19. return new Promise((resolve, reject) => {
  20. const { token } = data
  21. generatorDynamicRouter(token).then(routers => {
  22. commit('SET_ROUTERS', routers)
  23. resolve()
  24. }).catch(e => {
  25. reject(e)
  26. })
  27. })
  28. }
  29. }
  30. }
  31. export default permission