import { createRouter, createWebHistory } from "vue-router"; import { routes } from "./routes"; import { useUserStore } from "@/store/user"; import { ElMessage } from "element-plus"; import { useTabStore } from "@/store/tab"; import NProgress from "nprogress"; NProgress.configure({ easing: "ease", speed: 500 }); const router = createRouter({ history: createWebHistory(import.meta.env.PUBLIC_SERVER_PATH || "/"), routes, }); router.beforeEach((to) => { NProgress?.start?.(); const userStore = useUserStore(); // if (!userStore.isLogined() && to.path !== "/login") { // ElMessage.warning("登录已过期,请先登录"); // return "/login"; // } handleTabPath(to); return; }); router.afterEach(() => { NProgress?.done?.(); }); function handleTabPath(to) { const path = to.path; if (path === "/login") { return; } const meta = to.meta; const query = to.query; // 处理标签页 if (meta.title) { let displayTitle = meta.title; if (query.id) { displayTitle = `${meta.title} ${query.id}`; } const tabStore = useTabStore(); tabStore.addTab({ path: path, fullPath: to.fullPath, title: displayTitle, params: to.params, meta: to.meta, query: to.query, }); } } export default router;