Files
lingji-work-fe/src/router/index.ts

102 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-06-16 14:42:26 +08:00
/*
2025-06-23 03:16:55 -04:00
* @Author: RenXiaoDong
* @Date: 2025-06-22 22:59:16
2025-06-16 14:42:26 +08:00
*/
import { createRouter, createWebHistory } from 'vue-router';
import { appRoutes } from './routes';
import { REDIRECT_MAIN, NOT_FOUND_ROUTE } from './routes/base';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import createRouteGuard from './guard';
NProgress.configure({ showSpinner: false }); // NProgress Configuration
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
2025-06-17 11:18:39 +08:00
path: '/login',
2025-06-23 01:46:41 -04:00
name: 'UserLogin',
2025-06-17 11:18:39 +08:00
component: () => import('@/views/components/login'),
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 0,
},
2025-06-17 11:18:39 +08:00
},
{
path: '/workplace',
2025-06-16 14:42:26 +08:00
name: 'workplace',
component: () => import('@/views/components/workplace'),
2025-06-22 22:52:03 -04:00
meta: {
hideSidebar: true,
2025-06-23 03:16:55 -04:00
requireLogin: 1,
2025-06-22 22:52:03 -04:00
},
2025-06-16 14:42:26 +08:00
},
2025-06-17 11:18:39 +08:00
{
path: '/',
2025-06-23 01:46:41 -04:00
name: 'Home',
2025-06-17 11:18:39 +08:00
redirect: '/dataEngine/dataEngine/hotTranslation',
children: [...appRoutes, REDIRECT_MAIN, NOT_FOUND_ROUTE],
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 1,
},
2025-06-17 11:18:39 +08:00
},
2025-06-16 14:42:26 +08:00
{
path: '/dataEngine',
name: 'dataEngine',
2025-06-17 11:18:39 +08:00
redirect: '/dataEngine/dataEngine/hotTranslation',
2025-06-16 14:42:26 +08:00
children: [...appRoutes, REDIRECT_MAIN, NOT_FOUND_ROUTE],
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 1,
},
2025-06-16 14:42:26 +08:00
},
{
path: '/permission',
name: 'permission',
component: () => import('@/views/components/permission/choose-enterprise.vue'),
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 1,
},
2025-06-16 14:42:26 +08:00
},
{
path: '/auth',
name: 'auth',
component: () => import('@/views/components/permission/auth.vue'),
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 0,
},
2025-06-16 14:42:26 +08:00
},
{
path: '/management/person',
name: 'person',
component: () => import('@/views/components/management/person'),
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 1,
},
},
{
path: '/management/enterprise',
name: 'enterprise',
component: () => import('@/views/components/management/enterprise'),
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 1,
},
},
{
path: '/management/account',
name: 'account',
component: () => import('@/views/components/management/account'),
2025-06-23 03:16:55 -04:00
meta: {
requireLogin: 1,
},
},
2025-06-16 14:42:26 +08:00
],
scrollBehavior() {
return { top: 0 };
},
});
createRouteGuard(router);
export default router;