feat: 架构调整

This commit is contained in:
2026-07-23 11:27:33 +08:00
parent 6f37264047
commit 3b5a908ee4
25 changed files with 653 additions and 245 deletions
+30
View File
@@ -0,0 +1,30 @@
import router from '@/router';
import { auth, handleRouteGuard } from '@/hooks/useAuth';
/**
* 全局路由守卫
* 核心流程:
* 1. 白名单(/login 等) → 直接放行
* 2. 已登录 → 加载菜单权限(首次) → 放行
* 3. 未登录 → 跳转 /login
* 4. 页面标题自动设置
*/
router.beforeEach(async (to, _from, next) => {
// 设置页面标题
const appTitle = import.meta.env.VITE_APP_TITLE || 'CPMS 运营平台';
document.title = to.meta.title ? `${to.meta.title} - ${appTitle}` : appTitle;
const { allow, redirect } = await handleRouteGuard(to.path);
if (allow) {
// 已登录访问 /login → 跳首页
if (to.path === '/login' && auth.isLoggedIn()) {
const { homePath } = await import('@/stores/menuStore').then((m) => m.useMenuStore());
next(homePath.value);
return;
}
next();
} else {
next(redirect || '/login');
}
});