routes.js 2.23 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: 'button',
        name: 'button',
        meta: { title: 'Button 按钮' },
        component: () => import('@/views/docs/component/button.md'),
      },
      {
        path: 'cell',
        name: 'cell',
        meta: { title: 'Cell 单元格' },
        component: () => import('@/views/docs/component/cell.md'),
      },
    ]
  },
  {
    group: '其它',
    children: [
      {
        path: 'specification',
        name: 'specification',
        meta: { title: 'Specification 说明' },
        component: () => import('@/views/docs/component/specification.md'),
      },
      {
        path: 'other',
        name: 'other',
        meta: { title: 'Other 其它' },
        component: () => import('@/views/page/other'),
      },
    ]
  }
]

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,
];