import type { RouteRecordRaw } from 'vue-router'; import { DEFAULT_HOME_PATH } from '@vben/constants'; import { AuthPageLayout } from '#/layouts'; import { $t } from '#/locales'; import Login from '#/views/_core/authentication/login.vue'; /** 全局404页面 */ const fallbackNotFoundRoute: RouteRecordRaw = { component: () => import('#/views/_core/fallback/not-found.vue'), meta: { hideInBreadcrumb: true, hideInMenu: true, hideInTab: true, title: '404', }, name: 'FallbackNotFound', path: '/:path(.*)*', }; /** 基本路由,这些路由是必须存在的 */ const coreRoutes: RouteRecordRaw[] = [ { meta: { title: 'Root', }, name: 'Root', path: '/', redirect: DEFAULT_HOME_PATH, }, { component: AuthPageLayout, meta: { hideInTab: true, title: 'Authentication', }, name: 'Authentication', path: '/auth', children: [ { name: 'Login', path: 'login', component: Login, meta: { title: $t('page.auth.login'), }, }, { name: 'CodeLogin', path: 'code-login', component: () => import('#/views/_core/authentication/code-login.vue'), meta: { title: $t('page.auth.codeLogin'), }, }, { name: 'QrCodeLogin', path: 'qrcode-login', component: () => import('#/views/_core/authentication/qrcode-login.vue'), meta: { title: $t('page.auth.qrcodeLogin'), }, }, { name: 'ForgetPassword', path: 'forget-password', component: () => import('#/views/_core/authentication/forget-password.vue'), meta: { title: $t('page.auth.forgetPassword'), }, }, { name: 'Register', path: 'register', component: () => import('#/views/_core/authentication/register.vue'), meta: { title: $t('page.auth.register'), }, }, ], }, ]; export { coreRoutes, fallbackNotFoundRoute };