Commit a1061e7b authored by 张伯涛's avatar 张伯涛

vuex存储以及数据权限更新

parent f4b37b33
...@@ -4,7 +4,8 @@ import NProgress from 'nprogress' // progress bar ...@@ -4,7 +4,8 @@ import NProgress from 'nprogress' // progress bar
import 'nprogress/nprogress.css' // progress bar style import 'nprogress/nprogress.css' // progress bar style
import { PageIntercept } from '@/router/USER_level' import { PageIntercept } from '@/router/USER_level'
import routes from '@/router/routes' import routes from '@/router/routes'
import { getToken } from '@/utils/auth'
import store from '../store'
NProgress.configure({ showSpinner: false }) // NProgress Configuration NProgress.configure({ showSpinner: false }) // NProgress Configuration
Vue.use(Router) Vue.use(Router)
const createRouter = () => new Router({ const createRouter = () => new Router({
...@@ -20,7 +21,17 @@ router.beforeEach((to, from, next) => { ...@@ -20,7 +21,17 @@ router.beforeEach((to, from, next) => {
} else { } else {
to.meta.needAnimation = true to.meta.needAnimation = true
} }
new PageIntercept(to, from, next)[to.meta.USER_LEVEL || 'USER_VISITOR']() if (getToken()) { // 是否有token
if (store.getters.roles.length === 0) { // 确认登录了有token后判断vuex存储的roles是否还有(预防浏览器刷新后清空vuex存储)
store.dispatch('GetInfo').then(() => { // 浏览器刷新会清空vuex存储所以从新调用getinfo
new PageIntercept(to, from, next)[to.meta.USER_LEVEL || 'USER_VISITOR']()
})
} else {
new PageIntercept(to, from, next)[to.meta.USER_LEVEL || 'USER_VISITOR']()
}
} else {
new PageIntercept(to, from, next)[to.meta.USER_LEVEL || 'USER_VISITOR']()
}
}) })
router.afterEach(() => { router.afterEach(() => {
// finish progress bar // finish progress bar
......
...@@ -56,7 +56,6 @@ const user = { ...@@ -56,7 +56,6 @@ const user = {
GetInfo({ commit, state }) { GetInfo({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
getInfo(state.token).then(res => { getInfo(state.token).then(res => {
localStorage.setItem('userInfo', JSON.stringify(res.data.user)) // 在浏览器存储用户信息
const user = res.data.user const user = res.data.user
// const avatar = user.avatar === null ? require('@/assets/image/profile.jpg') : user.avatar // const avatar = user.avatar === null ? require('@/assets/image/profile.jpg') : user.avatar
if (res.data.roles && res.data.roles.length > 0) { // 验证返回的roles是否是一个非空数组 if (res.data.roles && res.data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
......
...@@ -283,16 +283,9 @@ export default { ...@@ -283,16 +283,9 @@ export default {
} }
}, },
created() { created() {
this.getLocalInfo()
}, },
methods: { methods: {
/** 获取浏览器缓存*/
getLocalInfo() {
const list = JSON.parse(localStorage.getItem('userInfo'))
if (list) {
this.userForm = list
}
},
changeType(item) { changeType(item) {
this.choseType = item.name this.choseType = item.name
}, },
...@@ -308,7 +301,6 @@ export default { ...@@ -308,7 +301,6 @@ export default {
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.$store.dispatch('FedLogOut').then(() => { this.$store.dispatch('FedLogOut').then(() => {
localStorage.removeItem('userInfo')
location.reload() location.reload()
}) })
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment