Files
klp-oa/ruoyi-ui/src/permission.js
konbai 822f85903a sync -- 同步 RuoYi-Vue-Plus 更新。
fix 工作流部分移除@Autowired和@Resource注解,改用构造器注入
fix 修复"我的流程"流程分类显示错误问题
fix 修复流程模块分页错误bug
update 图片上传 文件上传 支持并发上传
update 组件ImageUpload支持多图同时选择上传
udpate 组件fileUpload支持多文件同时选择上传
update qiniu 7.9.2 => 7.9.3
update minio 8.3.5 => 8.3.7
update 优化 R 默认返回 msg
update 增加 用户注册 用户类型默认值
update 增加用户登出日志
update 更新 多用户多设备的注释说明
update 优化 是否为管理员的判断
update 优化 页面若未匹配到字典标签则返回原字典值
update 调整用户登录 将日志调整到最后 防止获取不到用户警告
update 优化随机数生成方式 避免容易生成两个相同随机数的问题
fix 修复代码生成 基于路径生成 路径为空问题
fix 恢复误删 @Async 注解线程池配置类
fix 修复 minio 适配 https 导致的问题
fix 修复分页组件请求两次问题
2022-03-01 21:52:51 +08:00

57 lines
1.6 KiB
JavaScript

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'
import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
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 {
if (store.getters.roles.length === 0) {
isRelogin.show = true
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
isRelogin.show = false
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
})
}).catch(err => {
store.dispatch('LogOut').then(() => {
Message.error(err)
next({ path: '/' })
})
})
} else {
next()
}
}
} else {
// 没有token
if (whiteList.indexOf(to.path) !== -1) {
// 在免登录白名单,直接进入
next()
} else {
next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
NProgress.done()
}
}
})
router.afterEach(() => {
NProgress.done()
})