Files
workspace/code/container-ocr/ocr-vue/src/router/index.js
T
2026-03-19 22:15:36 +08:00

65 lines
1.3 KiB
JavaScript

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;