Files
autoAiWorkSys/app/router/index.js
张成 e17d5610f5 1
2025-12-22 16:26:59 +08:00

100 lines
1.9 KiB
JavaScript

/**
* Vue Router 路由配置
*/
import { createRouter, createWebHashHistory } from 'vue-router';
import LoginPage from '../views/LoginPage.vue';
import ConsolePage from '../views/ConsolePage.vue';
import DeliveryPage from '../views/DeliveryPage.vue';
import InvitePage from '../views/InvitePage.vue';
import FeedbackPage from '../views/FeedbackPage.vue';
import PurchasePage from '../views/PurchasePage.vue';
import LogPage from '../views/LogPage.vue';
import store from '../store';
const routes = [
{
path: '/',
redirect: '/console'
},
{
path: '/login',
name: 'Login',
component: LoginPage,
meta: {
requiresAuth: false,
showSidebar: false
}
},
{
path: '/console',
name: 'Console',
component: ConsolePage,
meta: {
requiresAuth: true
}
},
{
path: '/delivery',
name: 'Delivery',
component: DeliveryPage,
meta: {
requiresAuth: true
}
},
{
path: '/invite',
name: 'Invite',
component: InvitePage,
meta: {
requiresAuth: true
}
},
{
path: '/feedback',
name: 'Feedback',
component: FeedbackPage,
meta: {
requiresAuth: true
}
},
{
path: '/log',
name: 'Log',
component: LogPage,
meta: {
requiresAuth: true
}
},
{
path: '/purchase',
name: 'Purchase',
component: PurchasePage,
meta: {
requiresAuth: true
}
}
];
const router = createRouter({
history: createWebHashHistory(),
routes
});
// 路由守卫
router.beforeEach((to, from, next) => {
const isLoggedIn = store.state.auth.isLoggedIn;
if (to.meta.requiresAuth && !isLoggedIn) {
// 需要登录但未登录,跳转到登录页
next('/login');
} else if (to.path === '/login' && isLoggedIn) {
// 已登录访问登录页,跳转到控制台
next('/console');
} else {
next();
}
});
export default router;