dataService.ts 2.52 KB
import type { RouteRecordRaw } from 'vue-router'

function Layout() {
  return import('@/layouts/index.vue')
}

const routes: RouteRecordRaw[] = [
  {
    path: '/data-service/api-management',
    component: Layout,
    meta: {
      title: '管理API',
      icon: 'sidebar-videos',
    },
    children: [
      {
        path: '',
        name: 'apiManagement',
        component: () => import('@/views/data_service/apiManagement.vue'),
        meta: {
          title: '管理API',
          sidebar: false,
          breadcrumb: false,
          cache: true
        }
      },
      {
        path: 'api-create',
        name: 'apiCreate',
        component: () => import('@/views/data_service/apiCreate.vue'),
        meta: {
          title: '新建API',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true,
          editPage: true
        },
        beforeEnter: (to, from) => {
          if (to.query.type) {
            to.meta.title = `新建(${to.query.type == '1' ? '单表API' : (to.query.type == '2' ? '自定义sql' : '注册API')})`;
            to.meta.editPage = true;
          } else if (to.query.detail) {
            to.meta.title = `详情-${to.query.apiName}`;
            to.meta.editPage = false;
          } else if (to.query.guid) {
            to.meta.title = `编辑-${to.query.apiName}`;
            to.meta.editPage = true;
          }
        }
      },
      {
        // path: 'processDetail',
        // name: 'APIProcessDetail',
        path: 'api-detail',
        name: 'apiDetail',
        component: () => import('@/views/data_service/detail_serviceApi.vue'),
        meta: {
          title: '流程详情',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
      {
        path: 'processDetail',
        name: 'APIProcessDetail',
        component: () => import('@/views/detail.vue'),
        meta: {
          title: '流程详情',
          sidebar: false,
          breadcrumb: false,
          cache: true,
          reuse: true
        }
      },
    ],
  },
  {
    path: '/data-service/api-test',
    component: Layout,
    meta: {
      title: '测试API',
      icon: 'sidebar-videos',
    },
    children: [
      {
        path: '',
        name: 'apiTest',
        component: () => import('@/views/data_service/apiTest.vue'),
        meta: {
          title: '测试API',
          sidebar: false,
          breadcrumb: false,
          cache: true
        },
      },
    ],
  },
]

export default routes