1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { publicRoutes } from '@/router/public-routes'
- import { privateRoutes } from '@/router/private-routes'
- export default {
- namespaced: true,
- state: {
- // 路由表: 初始时所拥有的路由表
- routes: publicRoutes,
- navMenus: []
- },
- mutations: {
- // 增加路由的方法
- setRoutes(state, newRoutes) {
- state.routes = [...publicRoutes, ...newRoutes]
- },
- setNavMenus(state, data) {
- state.navMenus = data
- }
- },
- actions: {
- /**
- * 根据权限数据筛选路由
- * @param {*} context
- * @param {*} menus 权限数据
- */
- filterRoutes(context, menus) {
- const routes = []
- menus.forEach((item) => {
- privateRoutes.forEach((key) => {
- if (key.name === item) routes.push(key)
- })
- })
- routes.push({
- path: '/:catchAll(.*)',
- redirect: '/404'
- })
- context.commit('setRoutes', routes)
- return routes
- },
- setNavMenus(context, data) {
- context.commit('setNavMenus', [
- {
- path: '/home',
- name: 'Home',
- // children: [],
- meta: {
- title: '综合看板',
- icon: 'el-icon-s-home'
- }
- },
- ...data
- ])
- }
- }
- }
|