Initial comitof pe project

This commit is contained in:
2025-08-13 01:55:49 +00:00
commit 05618f1cbb
40 changed files with 9432 additions and 0 deletions

63
src/router/index.js Normal file
View File

@@ -0,0 +1,63 @@
import { createRouter, createWebHistory } from 'vue-router';
import AuthPage from '../components/authentication/AuthPage.vue';
import MainPage from '../views/mainpage/index.vue';
// 路由守卫:检查是否登录 - 优化版
const requireAuth = (to, from, next) => {
// 更可靠的登录状态检查
const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true';
const hasUserInfo = !!localStorage.getItem('userInfo');
if (isLoggedIn && hasUserInfo) {
next();
} else {
// 清除无效的登录状态
localStorage.removeItem('isLoggedIn');
next('/');
}
};
const routes = [
{
path: '/',
name: 'Auth',
component: AuthPage,
beforeEnter: (to, from, next) => {
const isLoggedIn = localStorage.getItem('isLoggedIn') === 'true';
const hasUserInfo = !!localStorage.getItem('userInfo');
if (isLoggedIn && hasUserInfo) {
next('/main');
} else {
next();
}
}
},
{
path: '/main',
name: 'Main',
component: MainPage,
beforeEnter: requireAuth
},
{
path: '/:pathMatch(.*)*',
redirect: '/'
}
];
const router = createRouter({
history: createWebHistory(),
routes
});
// 全局路由守卫,处理可能的登录状态异常
router.beforeEach((to, from, next) => {
// 对所有需要授权的路由进行检查
if (to.matched.some(record => record.beforeEnter === requireAuth)) {
requireAuth(to, from, next);
} else {
next();
}
});
export default router;