From 17e62da2a097844b0f6f7a58926e7d0a40598d2c Mon Sep 17 00:00:00 2001 From: hailin <1356886193@qq.com> Date: 星期五, 21 七月 2023 10:30:23 +0800 Subject: [PATCH] 标准库的第三次提交 --- src/permission.js | 111 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 56 insertions(+), 55 deletions(-) diff --git a/src/permission.js b/src/permission.js index 46773cb..a38fdc4 100644 --- a/src/permission.js +++ b/src/permission.js @@ -1,64 +1,65 @@ -// import router from './router' -// import store from './store' -// import { Message } from 'element-ui' -// import NProgress from 'nprogress' // progress bar -// import 'nprogress/nprogress.css' // progress bar style -// import { getToken } from '@/utils/auth' // get token from cookie -// import getPageTitle from '@/utils/get-page-title' +import router from './router' +import store from './store' +import { Message } from 'element-ui' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +import { getToken } from '@/utils/auth' // get token from cookie +import getPageTitle from '@/utils/get-page-title' -// NProgress.configure({ showSpinner: false }) // NProgress Configuration +NProgress.configure({ showSpinner: false }) // NProgress Configuration -// const whiteList = ['/login'] // no redirect whitelist +const whiteList = ['/login'] // no redirect whitelist -// router.beforeEach(async(to, from, next) => { -// // start progress bar -// NProgress.start() +router.beforeEach(async(to, from, next) => { + // start progress bar + NProgress.start() -// // set page title -// document.title = getPageTitle(to.meta.title) + // set page title + document.title = getPageTitle(to.meta.title) -// // determine whether the user has logged in -// const hasToken = getToken() + // determine whether the user has logged in + const hasToken = getToken() -// if (hasToken) { -// if (to.path === '/login') { -// // if is logged in, redirect to the home page -// next({ path: '/' }) -// NProgress.done() -// } else { -// const hasGetUserInfo = store.getters.name -// if (hasGetUserInfo) { -// next() -// } else { -// try { -// // get user info -// await store.dispatch('user/getInfo') + if (hasToken) { + if (to.path === '/login') { + // if is logged in, redirect to the home page + next({ path: '/' }) + NProgress.done() + } else { + const hasGetUserInfo = store.getters.name + if (hasGetUserInfo) { + next() + } else { + try { + // get user info + await store.dispatch('user/getInfo') -// next() -// } catch (error) { -// // remove token and go to login page to re-login -// await store.dispatch('user/resetToken') -// Message.error(error || 'Has Error') -// next(`/login?redirect=${to.path}`) -// NProgress.done() -// } -// } -// } -// } else { -// /* has no token*/ + next() + } catch (error) { + // remove token and go to login page to re-login + // 閲嶆柊鍒锋柊token + await store.dispatch('user/resetToken') + Message.error(error || 'Has Error') + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } + } + } else { + /* has no token*/ -// if (whiteList.indexOf(to.path) !== -1) { -// // in the free login whitelist, go directly -// next() -// } else { -// // other pages that do not have permission to access are redirected to the login page. -// next(`/login?redirect=${to.path}`) -// NProgress.done() -// } -// } -// }) + if (whiteList.indexOf(to.path) !== -1) { + // in the free login whitelist, go directly + next() + } else { + // other pages that do not have permission to access are redirected to the login page. + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } +}) -// router.afterEach(() => { -// // finish progress bar -// NProgress.done() -// }) +router.afterEach(() => { + // finish progress bar + NProgress.done() +}) -- Gitblit v1.9.3