【fix ESLint】src/permission.js

This commit is contained in:
zhaoxiao
2023-03-03 09:54:41 +08:00
parent 3e116d77e5
commit 6885fcb0db
+35 -40
View File
@@ -3,13 +3,12 @@ import router from './router'
import store from './store' import store from './store'
import NProgress from 'nprogress' // progress bar import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style import 'nprogress/nprogress.css' // progress bar style
import notification from 'ant-design-vue/es/notification' import { ACCESS_TOKEN, OAUTH2_LOGIN_PAGE_PATH } from '@/store/mutation-types'
import { ACCESS_TOKEN,INDEX_MAIN_PAGE_PATH, OAUTH2_LOGIN_PAGE_PATH } from '@/store/mutation-types'
import { generateIndexRouter, isOAuth2AppEnv, findFirstRoute } from '@/utils/util' import { generateIndexRouter, isOAuth2AppEnv, findFirstRoute } from '@/utils/util'
NProgress.configure({ showSpinner: false }) // NProgress Configuration NProgress.configure({ showSpinner: false }) // NProgress Configuration
const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration'] // no redirect whitelist const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration'] // no redirect whitelist
whiteList.push(OAUTH2_LOGIN_PAGE_PATH) whiteList.push(OAUTH2_LOGIN_PAGE_PATH)
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
@@ -17,55 +16,51 @@ router.beforeEach((to, from, next) => {
if (Vue.ls.get(ACCESS_TOKEN)) { if (Vue.ls.get(ACCESS_TOKEN)) {
/* has token */ /* has token */
if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) { if (to.path === '/user/login' || to.path === OAUTH2_LOGIN_PAGE_PATH) {
store.dispatch('GetPermissionList').then(res => { store.dispatch('GetPermissionList').then(res => {
const menuData = res.result.menu; const menuData = res.result.menu
if (menuData === null || menuData === "" || menuData === undefined) { if (menuData === null || menuData === '' || menuData === undefined) {
return; return
} }
let constRoutes = []; const constRoutes = generateIndexRouter(menuData)
constRoutes = generateIndexRouter(menuData);
// 添加主界面路由 // 添加主界面路由
store.dispatch('UpdateAppRouter', { constRoutes }).then(() => { store.dispatch('UpdateAppRouter', { constRoutes }).then(() => {
// 根据roles权限生成可访问的路由表 // 根据roles权限生成可访问的路由表
// 动态添加可访问路由表 // 动态添加可访问路由表
router.addRoutes(store.getters.addRouters) router.addRoutes(store.getters.addRouters)
const redirect = decodeURIComponent(from.query.redirect || to.path)
next(findFirstRoute(menuData)) next(findFirstRoute(menuData))
NProgress.done() NProgress.done()
}) })
}) })
.catch(() => { .catch(() => {
store.dispatch('Logout').then(() => { store.dispatch('Logout').then(() => {
next() next()
})
}) })
})
} else { } else {
if (store.getters.permissionList.length === 0) { if (store.getters.permissionList.length === 0) {
store.dispatch('GetPermissionList').then(res => { store.dispatch('GetPermissionList').then(res => {
const menuData = res.result.menu; const menuData = res.result.menu
if (menuData === null || menuData === "" || menuData === undefined) { if (menuData === null || menuData === '' || menuData === undefined) {
return; return
} }
let constRoutes = []; const constRoutes = generateIndexRouter(menuData)
constRoutes = generateIndexRouter(menuData); // 添加主界面路由
// 添加主界面路由 store.dispatch('UpdateAppRouter', { constRoutes }).then(() => {
store.dispatch('UpdateAppRouter', { constRoutes }).then(() => { // 根据roles权限生成可访问的路由表
// 根据roles权限生成可访问路由表 // 动态添加可访问路由表
// 动态添加可访问路由表 router.addRoutes(store.getters.addRouters)
router.addRoutes(store.getters.addRouters) const redirect = decodeURIComponent(from.query.redirect || to.path)
const redirect = decodeURIComponent(from.query.redirect || to.path) if (to.path === redirect) {
if (to.path === redirect) { // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
// hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record next({ ...to, replace: true })
next({ ...to, replace: true }) } else {
} else { // 跳转到目的路由
// 跳转到目的路由 next({ path: redirect })
next({ path: redirect }) }
} })
}) })
}) .catch((error) => {
.catch(() => { return Promise.reject(error)
return Promise.reject()
}) })
} else { } else {
next() next()
@@ -75,7 +70,7 @@ router.beforeEach((to, from, next) => {
if (whiteList.indexOf(to.path) !== -1) { if (whiteList.indexOf(to.path) !== -1) {
// 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面 // 在免登录白名单,如果进入的页面是login页面并且当前是OAuth2app环境,就进入OAuth2登录页面
if (to.path === '/user/login' && isOAuth2AppEnv()) { if (to.path === '/user/login' && isOAuth2AppEnv()) {
next({path: OAUTH2_LOGIN_PAGE_PATH}) next({ path: OAUTH2_LOGIN_PAGE_PATH })
} else { } else {
// 在免登录白名单,直接进入 // 在免登录白名单,直接进入
next() next()
@@ -83,7 +78,7 @@ router.beforeEach((to, from, next) => {
NProgress.done() NProgress.done()
} else { } else {
// 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面 // 如果当前是在OAuth2APP环境,就跳转到OAuth2登录页面
let path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login' const path = isOAuth2AppEnv() ? OAUTH2_LOGIN_PAGE_PATH : '/user/login'
next({ path: path, query: { redirect: to.fullPath } }) next({ path: path, query: { redirect: to.fullPath } })
NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
} }