routes.js 2.81 KB
import DefaultLayout from '@/views/layout/default';
import ComponentLayout from '@/views/layout/component';

// 开发指南的文档

const _guides = [
  {
    path: 'introduce',
    name: 'introduce',
    meta: { title: '简介' },
    component: () => import('@/views/docs/guide/introduce.md'),
  },
  {
    path: 'installation',
    name: 'installation',
    meta: { title: '安装' },
    component: () => import('@/views/docs/guide/installation.md'),
  },
];

// 组件页面的文档

const _components = [
  {
    group: '表单',
    children: [
      {
        path: 'select',
        name: 'select',
        meta: { title: 'Select 选择器' },
        component: () => import('@/views/docs/component/select.md'),
      },
    ]
  },
  {
    group: '高级',
    children: [
      {
        path: 'detail',
        name: 'detail',
        meta: { title: 'Detail 详情' },
        component: () => import('@/views/docs/component/detail.md'),
      },
      {
        path: 'form',
        name: 'form',
        meta: { title: 'Form 表单' },
        component: () => import('@/views/docs/component/form.md'),
      },
      {
        path: 'search',
        name: 'search',
        meta: { title: 'Search 搜索' },
        component: () => import('@/views/docs/component/search.md'),
      },
      {
        path: 'table',
        name: 'table',
        meta: { title: 'Table 表格' },
        component: () => import('@/views/docs/component/table.md'),
      },
    ]
  },
  {
    group: '业务',
    children: [
      {
        path: 'scheme',
        name: 'scheme',
        meta: { title: 'Scheme 方案' },
        component: () => import('@/views/docs/component/scheme.md'),
      },
    ]
  },
  {
    group: '测试',
    children: [
      {
        path: 'test',
        name: 'test',
        meta: { title: 'Scheme 测试' },
        component: () => import('@/views/page/test'),
      },
    ]
  }
]

let _components_children = [];
_components.forEach(data => {
  _components_children = [..._components_children, ...data.children]
});

// 用于导航的页面
const _pages = [
  {
    path: '',
    meta: { title: '首页', path: '/index' },
    component: DefaultLayout,
    redirect: 'index',
    children: [{
      path: 'index',
      name: 'index',
      component: () => import('@/views/page/index'),
    }],
  },
  {
    path: '/component',
    name: 'component',
    meta: { title: '组件', path: '/component' },
    component: ComponentLayout,
    redirect: `/component/${_guides[0].path || 'detail'}`,
    children: [..._components_children, ..._guides]
  }
]

export const pages = _pages;
export const guides = _guides;
export const components = _components;

export default [
  { path: '*', redirect: '/404', hidden: true },
  {
    path: '/404',
    name: '404',
    component: () => import('@/views/page/error/404')
  },
  ..._pages,
];