| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import { menuToRoutes, eachTreeData } from 'ele-admin';
- import { HOME_PATH, LAYOUT_PATH, REDIRECT_PATH } from '@/config/setting';
- import EleLayout from '@/layout/index.vue';
- import RedirectLayout from '@/components/RedirectLayout';
- import { iframeMixins } from '@/utils/iframe-mixin';
- /**
- * 静态路由
- */
- export const routes = [
- {
- path: '/login',
- component: () => import('@/views/login/index.vue'),
- meta: { title: '登录' }
- },
- {
- path: '/forget',
- component: () => import('@/views/forget/index.vue'),
- meta: { title: '忘记密码' }
- }
- // 404
- // {
- // path: '*',
- // component: () => import('@/views/exception/404/index.vue')
- // }
- // {
- // path: '/system/role',
- // component: () => import('@/views/system/role/index.vue'),
- // meta: { title: '编码信息' }
- // }
- ];
- /**
- * 添加动态路由
- * @param menus 菜单数据
- * @param homePath 菜单数据的第一个页面地址
- */
- export function getMenuRoutes(menus, homePath) {
- const routes = [
- // 用于刷新的路由
- {
- path: REDIRECT_PATH + '/:path(.*)',
- component: RedirectLayout,
- meta: { hideFooter: true }
- }
- ];
- // 路由铺平处理
- eachTreeData(
- menuToRoutes(menus, getComponent, [], null, null, iframeMixins),
- (route) => {
- routes.push({ ...route, children: null });
- }
- );
- return {
- path: LAYOUT_PATH,
- component: EleLayout,
- redirect: HOME_PATH ?? homePath,
- children: routes
- };
- }
- /**
- * 获取路由组件
- * @param component 组件名称
- */
- function getComponent(component) {
- if (component) {
- return () => import('@/views/' + component);
- }
- }
|