import router from "./router"; import store from "./store"; import { Message } from "element-ui"; import NProgress from "nprogress"; import "nprogress/nprogress.css"; import { getToken } from "@/utils/auth"; // 踢出系统 // function kickOut() { // if (process.env.NODE_ENV === "production") { // location.href = location.origin + "/login"; // } // } NProgress.configure({ showSpinner: false }); const whiteList = [ "/login", "/register", "/index", "/netWorkStat", "/censor", "/personalData", "/changePassword", "/statistics", ]; router.beforeEach((to, from, next) => { NProgress.start(); if (getToken()) { to.meta.title && store.dispatch("settings/setTitle", to.meta.title); /* has token*/ if (to.path === "/login") { next({ path: "/" }); NProgress.done(); } else { next(); } } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // next(); let token = localStorage.getItem("MSSM-LIAONING__TOKEN"); if (token) { if (store.state.myselfPermission.routerList.length > 0) { let current = store.state.myselfPermission.routerList.filter( (item) => item.path == to.path || from.path == "/" ); if (current.length > 0) { next(); } else { Message.error("无权限访问!"); } } else { store .dispatch("GetPermission") .then((res) => { if (res.length > 0) { next({ path: res }); } else { // kickOut(); } }) .catch((error) => { // kickOut(); }); } } else { // //没有token踢出去 // Message.error("获取令牌失败!"); // kickOut(); next(); } } else { // kickOut(); NProgress.done(); } } }); router.afterEach(() => { NProgress.done(); });