根据角色判断是否直接跳后台以及不准跳前台

dev
Tuzki 2 years ago
parent fba85b3f82
commit ce2ddf56b1
  1. 15
      ruoyi-ui/src/layout/components/Sidebar/Logo.vue
  2. 18
      ruoyi-ui/src/permission.js

@ -1,11 +1,11 @@
<template>
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBackground : variables.menuLightBackground }">
<transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" :to="defaultRoute">
<img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
</router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/">
<router-link v-else key="expand" class="sidebar-logo-link" :to="defaultRoute">
<img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
</router-link>
@ -16,6 +16,8 @@
<script>
import logoImg from '@/assets/logo/logo.png'
import variables from '@/assets/styles/variables.scss'
import Cookies from "js-cookie";
export default {
name: 'SidebarLogo',
@ -33,10 +35,17 @@ export default {
return this.$store.state.settings.sideTheme
}
},
created() {
const roleId = Cookies.get('roleId')
if (roleId == 128){
this.defaultRoute = "/analyze"
}
},
data() {
return {
title: '景区综合管控平台',
logo: null
logo: null,
defaultRoute:'/'
}
}
}

@ -6,9 +6,11 @@ import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth'
import { isRelogin } from '@/utils/request'
import Cookies from "js-cookie";
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register']
const whiteList = ['/login', '/register','/analyze']
router.beforeEach((to, from, next) => {
NProgress.start()
@ -22,12 +24,22 @@ router.beforeEach((to, from, next) => {
if (store.getters.roles.length === 0) {
isRelogin.show = true
// 判断当前用户是否已拉取完user_info信息
store.dispatch('GetInfo').then(() => {
store.dispatch('GetInfo').then((res) => {
console.log(res,'用户信息');
isRelogin.show = false
store.dispatch('GenerateRoutes').then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
let path = '/'
if (res.user.roles[0].roleId == 128){
Cookies.set('roleId',res.user.roles[0].roleId)
path = '/analyze'
}
if (to.path === '/home'){
next({path,replace:true})
}else{
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
}
})
}).catch(err => {
store.dispatch('LogOut').then(() => {

Loading…
Cancel
Save