| | |
| | | * @author chuzhixin 1204505056@qq.com (不想保留author可删除) |
| | | * @description 路由拦截状态管理,目前两种模式:all模式与intelligence模式,其中partialRoutes是菜单暂未使用 |
| | | */ |
| | | import { asyncRoutes, constantRoutes } from '@/router' |
| | | import { convertRouter, filterAsyncRoutes } from '@/utils/handleRoutes' |
| | | import { asyncRoutes, constantRoutes } from "@/router"; |
| | | import { convertRouter, filterAsyncRoutes } from "@/utils/handleRoutes"; |
| | | |
| | | const state = () => ({ |
| | | routes: [], |
| | | partialRoutes: [], |
| | | }) |
| | | }); |
| | | const getters = { |
| | | routes: (state) => state.routes, |
| | | partialRoutes: (state) => state.partialRoutes, |
| | | } |
| | | }; |
| | | const mutations = { |
| | | setRoutes(state, routes) { |
| | | state.routes = constantRoutes.concat(routes) |
| | | state.routes = constantRoutes.concat(routes); |
| | | }, |
| | | setAllRoutes(state, routes) { |
| | | // state.routes = constantRoutes.concat(routes) |
| | | }, |
| | | setPartialRoutes(state, routes) { |
| | | state.partialRoutes = constantRoutes.concat(routes) |
| | | state.partialRoutes = constantRoutes.concat(routes); |
| | | }, |
| | | } |
| | | }; |
| | | const actions = { |
| | | async setRoutes({ commit }, permissions) { |
| | | //开源版只过滤动态路由permissions,admin不再默认拥有全部权限 |
| | | const finallyAsyncRoutes = await filterAsyncRoutes( |
| | | [...asyncRoutes], |
| | | permissions |
| | | ) |
| | | commit('setRoutes', finallyAsyncRoutes) |
| | | return finallyAsyncRoutes |
| | | ); |
| | | commit("setRoutes", finallyAsyncRoutes); |
| | | return finallyAsyncRoutes; |
| | | }, |
| | | setPartialRoutes({ commit }, accessRoutes) { |
| | | commit('setPartialRoutes', accessRoutes) |
| | | return accessRoutes |
| | | commit("setPartialRoutes", accessRoutes); |
| | | return accessRoutes; |
| | | }, |
| | | } |
| | | export default { state, getters, mutations, actions } |
| | | }; |
| | | export default { state, getters, mutations, actions }; |