import type { RouteRecordRaw } from 'vue-router' import { adminBaseRoutePath } from '/@/router/static/adminBase' import { memberCenterBaseRoutePath } from '/@/router/static/memberCenterBase' const pageTitle = (name: string): string => { return `pagesTitle.${name}` } /* * 静态路由 * 自动加载 ./static 目录的所有文件,并 push 到以下数组 */ const staticRoutes: Array = [ { // 首页 path: '/', name: '/', component: () => import('/@/views/frontend/index.vue'), meta: { title: pageTitle('home'), }, redirect: adminBaseRoutePath, children: [], }, { // 管理员登录页 - 不放在 adminBaseRoute.children 因为登录页不需要使用后台的布局 path: adminBaseRoutePath + '/login', name: 'adminLogin', component: () => import('/@/views/backend/login.vue'), meta: { title: pageTitle('adminLogin'), }, }, { // 会员登录页 path: memberCenterBaseRoutePath + '/login', name: 'userLogin', component: () => import('/@/views/frontend/user/login.vue'), meta: { title: pageTitle('userLogin'), }, }, { path: '/:path(.*)*', redirect: '/404', }, { // 404 path: '/404', name: 'notFound', component: () => import('/@/views/common/error/404.vue'), meta: { title: pageTitle('notFound'), // 页面不存在 }, }, { // 后台找不到页面了-可能是路由未加载上 path: adminBaseRoutePath + ':path(.*)*', redirect: (to) => { return { name: 'adminMainLoading', params: { to: JSON.stringify({ path: to.path, query: to.query, }), }, } }, }, { // 会员中心找不到页面了 path: memberCenterBaseRoutePath + ':path(.*)*', redirect: (to) => { return { name: 'userMainLoading', params: { to: JSON.stringify({ path: to.path, query: to.query, }), }, } }, }, { // 无权限访问 path: '/401', name: 'noPower', component: () => import('/@/views/common/error/401.vue'), meta: { title: pageTitle('noPower'), }, }, ] const staticFiles: Record> = import.meta.glob('./static/*.ts', { eager: true }) for (const key in staticFiles) { if (staticFiles[key].default) staticRoutes.push(staticFiles[key].default) } export default staticRoutes