|
@@ -1,5 +1,4 @@ |
|
|
import router from "@/router"; |
|
|
import router from "@/router"; |
|
|
import { useUserStoreHook } from "@/store/modules/user"; |
|
|
|
|
|
import { usePermissionStoreHook } from "@/store/modules/permission"; |
|
|
import { usePermissionStoreHook } from "@/store/modules/permission"; |
|
|
|
|
|
|
|
|
import NProgress from "nprogress"; |
|
|
import NProgress from "nprogress"; |
|
@@ -11,51 +10,28 @@ const permissionStore = usePermissionStoreHook(); |
|
|
// 白名单路由 |
|
|
// 白名单路由 |
|
|
const whiteList = ["/login", "/signSucceed"]; |
|
|
const whiteList = ["/login", "/signSucceed"]; |
|
|
|
|
|
|
|
|
// router.beforeEach(async (to, from, next) => { |
|
|
|
|
|
// NProgress.start(); |
|
|
|
|
|
// // const hasToken = localStorage.getItem("accessToken"); |
|
|
|
|
|
// // if (hasToken) { |
|
|
|
|
|
// // if (to.path === "/login") { |
|
|
|
|
|
// // // 如果已登录,跳转首页 |
|
|
|
|
|
// // next({ path: "/" }); |
|
|
|
|
|
// // NProgress.done(); |
|
|
|
|
|
// // } else { |
|
|
|
|
|
// // const userStore = useUserStoreHook(); |
|
|
|
|
|
// // const hasRoles = userStore.roles && userStore.roles.length > 0; |
|
|
|
|
|
// // if (hasRoles) { |
|
|
|
|
|
// // // 未匹配到任何路由,跳转404 |
|
|
|
|
|
// // if (to.matched.length === 0) { |
|
|
|
|
|
// // from.name ? next({ name: from.name }) : next("/404"); |
|
|
|
|
|
// // } else { |
|
|
|
|
|
// // next(); |
|
|
|
|
|
// // } |
|
|
|
|
|
// // } else { |
|
|
|
|
|
// // try { |
|
|
|
|
|
// // const { roles } = await userStore.getInfo(); |
|
|
|
|
|
// // const accessRoutes = await permissionStore.generateRoutes(roles); |
|
|
|
|
|
// // accessRoutes.forEach((route) => { |
|
|
|
|
|
// // router.addRoute(route); |
|
|
|
|
|
// // }); |
|
|
|
|
|
// // next({ ...to, replace: true }); |
|
|
|
|
|
// // } catch (error) { |
|
|
|
|
|
// // // 移除 token 并跳转登录页 |
|
|
|
|
|
// // await userStore.resetToken(); |
|
|
|
|
|
// // next(`/login?redirect=${to.path}`); |
|
|
|
|
|
// // NProgress.done(); |
|
|
|
|
|
// // } |
|
|
|
|
|
// // } |
|
|
|
|
|
// // } |
|
|
|
|
|
// // } else { |
|
|
|
|
|
// // // 未登录可以访问白名单页面 |
|
|
|
|
|
// // if (whiteList.indexOf(to.path) !== -1) { |
|
|
|
|
|
// // next(); |
|
|
|
|
|
// // } else { |
|
|
|
|
|
// // next(`/login?redirect=${to.path}`); |
|
|
|
|
|
// // NProgress.done(); |
|
|
|
|
|
// // } |
|
|
|
|
|
// // } |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
router.beforeEach(async (to, from, next) => { |
|
|
|
|
|
NProgress.start(); |
|
|
|
|
|
const AccessToken = localStorage.getItem("AccessToken"); |
|
|
|
|
|
// 已登录 |
|
|
|
|
|
if (AccessToken) { |
|
|
|
|
|
if (to.path === "/login") { |
|
|
|
|
|
next({ path: "/" }); |
|
|
|
|
|
} else { |
|
|
|
|
|
next(); |
|
|
|
|
|
} |
|
|
|
|
|
// 未登录 |
|
|
|
|
|
} else { |
|
|
|
|
|
// 未登录可以访问白名单页面 |
|
|
|
|
|
if (whiteList.indexOf(to.path) !== -1) { |
|
|
|
|
|
next(); |
|
|
|
|
|
} else { |
|
|
|
|
|
// 不在白名单内,跳转登录页 |
|
|
|
|
|
next({ path: "/login" }); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
// router.afterEach(() => { |
|
|
|
|
|
// NProgress.done(); |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
router.afterEach(() => { |
|
|
|
|
|
NProgress.done(); |
|
|
|
|
|
}); |