101 lines
2.8 KiB
TypeScript
101 lines
2.8 KiB
TypeScript
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<RouteRecordRaw> = [
|
|
{
|
|
// 首页
|
|
path: '/',
|
|
name: '/',
|
|
component: () => import('/@/views/frontend/index.vue'),
|
|
meta: {
|
|
title: pageTitle('home'),
|
|
},
|
|
},
|
|
{
|
|
// 管理员登录页 - 不放在 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<string, Record<string, RouteRecordRaw>> = import.meta.glob('./static/*.ts', { eager: true })
|
|
for (const key in staticFiles) {
|
|
if (staticFiles[key].default) staticRoutes.push(staticFiles[key].default)
|
|
}
|
|
|
|
export default staticRoutes
|