|
1 | 1 | import {constantRoutes} from '@/router'
|
2 |
| -import {getRouters} from '@/api/menu' |
3 | 2 | import Layout from '@/layout/index'
|
4 | 3 | import ParentView from '@/components/ParentView';
|
5 | 4 | import {toCamelCase} from "@/utils";
|
@@ -27,22 +26,25 @@ const permission = {
|
27 | 26 | },
|
28 | 27 | },
|
29 | 28 | actions: {
|
30 |
| - // 生成路由 |
31 |
| - GenerateRoutes({commit}) { |
| 29 | + /** |
| 30 | + * 生成路由 |
| 31 | + * |
| 32 | + * @param commit commit 函数 |
| 33 | + * @param menus 路由参数 |
| 34 | + */ |
| 35 | + GenerateRoutes({commit}, menus) { |
32 | 36 | return new Promise(resolve => {
|
33 |
| - // 向后端请求路由数据(菜单) |
34 |
| - getRouters().then(res => { |
35 |
| - const sdata = JSON.parse(JSON.stringify(res.data)) // 【重要】用于菜单中的数据 |
36 |
| - const rdata = JSON.parse(JSON.stringify(res.data)) // 用于最后添加到 Router 中的数据 |
37 |
| - const sidebarRoutes = filterAsyncRouter(sdata) |
38 |
| - const rewriteRoutes = filterAsyncRouter(rdata, false, true) |
39 |
| - rewriteRoutes.push({path: '*', redirect: '/404', hidden: true}) |
40 |
| - commit('SET_ROUTES', rewriteRoutes) |
41 |
| - commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) |
42 |
| - commit('SET_DEFAULT_ROUTES', sidebarRoutes) |
43 |
| - commit('SET_TOPBAR_ROUTES', sidebarRoutes) |
44 |
| - resolve(rewriteRoutes) |
45 |
| - }) |
| 37 | + // 将 menus 菜单,转换为 route 路由数组 |
| 38 | + const sdata = JSON.parse(JSON.stringify(menus)) // 【重要】用于菜单中的数据 |
| 39 | + const rdata = JSON.parse(JSON.stringify(menus)) // 用于最后添加到 Router 中的数据 |
| 40 | + const sidebarRoutes = filterAsyncRouter(sdata) |
| 41 | + const rewriteRoutes = filterAsyncRouter(rdata, false, true) |
| 42 | + rewriteRoutes.push({path: '*', redirect: '/404', hidden: true}) |
| 43 | + commit('SET_ROUTES', rewriteRoutes) |
| 44 | + commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes)) |
| 45 | + commit('SET_DEFAULT_ROUTES', sidebarRoutes) |
| 46 | + commit('SET_TOPBAR_ROUTES', sidebarRoutes) |
| 47 | + resolve(rewriteRoutes) |
46 | 48 | })
|
47 | 49 | }
|
48 | 50 | }
|
|
0 commit comments