perf[permission]: add the verification of roles
This commit is contained in:
		@@ -16,10 +16,10 @@ router.beforeEach((to, from, next) => {
 | 
			
		||||
      if (store.getters.roles.length === 0) {
 | 
			
		||||
        store.dispatch('GetInfo').then(res => { // 拉取用户信息
 | 
			
		||||
          next()
 | 
			
		||||
        }).catch(() => {
 | 
			
		||||
        }).catch((err) => {
 | 
			
		||||
          store.dispatch('FedLogOut').then(() => {
 | 
			
		||||
            Message.error('验证失败,请重新登录')
 | 
			
		||||
            next({ path: '/login' })
 | 
			
		||||
            Message.error(err || 'Verification failed, please login again')
 | 
			
		||||
            next({ path: '/' })
 | 
			
		||||
          })
 | 
			
		||||
        })
 | 
			
		||||
      } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -44,8 +44,12 @@ const user = {
 | 
			
		||||
    GetInfo({ commit, state }) {
 | 
			
		||||
      return new Promise((resolve, reject) => {
 | 
			
		||||
        getInfo(state.token).then(response => {
 | 
			
		||||
          const data = response.data
 | 
			
		||||
          commit('SET_ROLES', data.roles)
 | 
			
		||||
          const data = response
 | 
			
		||||
          if (data.roles && data.roles.length > 0) { // 验证返回的roles是否是一个非空数组
 | 
			
		||||
            commit('SET_ROLES', data.roles)
 | 
			
		||||
          } else {
 | 
			
		||||
            reject('getInfo: roles must be a non-null array !')
 | 
			
		||||
          }
 | 
			
		||||
          commit('SET_NAME', data.name)
 | 
			
		||||
          commit('SET_AVATAR', data.avatar)
 | 
			
		||||
          resolve(response)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user