12345678910111213141516171819202122232425262728293031323334353637 |
- import router from "@/router";
- import NProgress from "@/utils/nprogress";
- import { useDictionaryStore } from "@/store/modules/dictionary";
- export function setupPermission() {
- // 白名单路由
- const whiteList = ["/login"];
- router.beforeEach(async (to, from, next) => {
- NProgress.start();
- const hasToken = localStorage.getItem("token");
- if (hasToken) {
- if (to.path === "/login") {
- // 如果已登录,跳转首页
- next({ path: "/" });
- NProgress.done();
- } else {
- const dictStore = useDictionaryStore();
- dictStore.checkDicts();
- next();
- NProgress.done();
- }
- } else {
- // 未登录可以访问白名单页面
- if (whiteList.indexOf(to.path) !== -1) {
- next();
- } else {
- next(`/login?redirect=${to.path}`);
- NProgress.done();
- }
- }
- });
- router.afterEach(() => {
- NProgress.done();
- });
- }
|