Files
cdTestPlant3/cdTMP/src/router/guard/index.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

2023-06-05 21:02:25 +08:00
import { setRouteEmitter } from "@/utils/route-listener"
import setupUserLoginInfoGuard from "./userLoginInfo"
import setupPermissionGuard from "@/router/guard/permisstion"
2024-06-20 19:12:13 +08:00
// 导入设置title的工具
import { setRouteTitle } from "@/utils/title"
2024-08-16 19:00:08 +08:00
// 为了已登录用户直接进入login
import { useUserStore } from "@/store"
2026-03-26 21:58:14 +08:00
import NProgress from "nprogress" // progress bar
import "nprogress/nprogress.css"
2023-06-05 21:02:25 +08:00
function setupPageGuard(router) {
router.beforeEach(async (to) => {
// 发出路由改变的事件
setRouteEmitter(to)
})
2024-06-20 19:12:13 +08:00
// 设置站点document.title
router.afterEach((to, from) => {
setRouteTitle(to.meta.title)
2026-03-26 21:58:14 +08:00
NProgress.done()
2024-06-20 19:12:13 +08:00
})
2024-08-16 19:00:08 +08:00
// 设置如果已登录用户进入login页面则直接进入工作台
router.beforeEach((to) => {
const userStore = useUserStore()
if (to.name === "login") {
if (userStore.isLogin()) {
return {
name: "workplace"
}
}
}
})
2023-06-05 21:02:25 +08:00
}
export default function createRouteGuard(router) {
setupPageGuard(router)
setupUserLoginInfoGuard(router)
setupPermissionGuard(router)
}