menu.js 1015 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import Routes from '@/router/routes'
  2. import { filterRoutes } from '../menuFilter'
  3. const state = {
  4. refresh: true, // 更新路由
  5. roles: Routes.routes,
  6. permission: Routes.permission
  7. }
  8. const mutations = {
  9. SET_REFRESH (state, params) {
  10. state.refresh = params
  11. },
  12. SET_ROLES (state, route) {
  13. state.roles = route
  14. // setRoles(route)
  15. },
  16. SET_PERMISSION (state, permission) {
  17. state.permission = permission
  18. // setPermission(permission)
  19. }
  20. }
  21. const actions = {
  22. getMenu2 ({ commit, rootState }) {
  23. return new Promise((resolve, reject) => {
  24. const { routes, permission } = Routes
  25. const permissions = rootState.user.userInfo.permissions || []
  26. const visibleRoutes = filterRoutes(routes, permissions)
  27. commit('SET_ROLES', visibleRoutes)
  28. commit('SET_PERMISSION', permission)
  29. // 路由重新配置触发更新
  30. commit('SET_REFRESH', true)
  31. resolve(visibleRoutes)
  32. })
  33. }
  34. }
  35. export default {
  36. namespaced: true,
  37. state,
  38. mutations,
  39. actions
  40. }