import DefaultLayout from '@/views/layout/default'; import ComponentLayout from '@/views/layout/component'; import DevelopLayout from '@/views/layout/develop'; // 开发指南的文档 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'), }, { path: 'upload', name: 'upload', meta: { title: 'Upload 上传' }, component: () => import('@/views/docs/component/upload.md'), }, ], }, { group: '表单组件', children: [ { path: 'form', name: 'form', meta: { title: 'Form 表单' }, component: () => import('@/views/docs/component/form.md'), }, { path: 'form-item', name: 'form-item', meta: { title: 'Form Item 表单项' }, component: () => import('@/views/docs/component/form-item.md'), }, ], }, { group: '方案组件', children: [ { path: 'scheme-form', name: 'scheme-form', meta: { title: 'Scheme Form 表单' }, component: () => import('@/views/docs/component/scheme-form.md'), }, { path: 'scheme-filter', name: 'scheme-filter', meta: { title: 'Scheme Filter 筛选' }, component: () => import('@/views/docs/component/scheme-filter.md'), }, { path: 'scheme-table', name: 'scheme-table', meta: { title: 'Scheme Table 表格' }, component: () => import('@/views/docs/component/scheme-table.md'), }, { path: 'scheme', name: 'scheme', meta: { title: 'Scheme 方案' }, component: () => import('@/views/docs/component/scheme.md'), }, ], }, ]; const _others = [ { path: 'other', name: 'other', meta: { title: '其它' }, component: () => import('@/views/page/other'), }, ]; let _components_children = []; _components.forEach(data => { _components_children = [..._components_children, ...data.children]; }); const _develops = [ { group: '开发模式', children: [ { path: 'mixin', name: 'mixin', meta: { title: 'Mixin 混入' }, component: () => import('@/views/docs/develop/mixin.md'), }, ], }, ]; let _develops_children = []; _develops.forEach(data => { _develops_children = [..._develops_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}`, children: [..._components_children, ..._guides, ..._others], }, { path: '/develop', name: 'develop', meta: { title: '开发', path: '/develop' }, component: DevelopLayout, redirect: `/develop/${_develops[0].children[0].path}`, children: [..._develops_children], }, ]; export const pages = _pages; export const guides = _guides; export const components = _components; export const others = _others; export const develops = _develops; export default [ { path: '*', redirect: '/404', hidden: true }, { path: '/404', name: '404', component: () => import('@/views/page/error/404'), }, ..._pages, ];