vue admin 若依框架 解决无权限时进入死循环的问题 auths

核心原因:

if (auths && auths.length > 0) { // like12 find bug,数组为空[]时依然会进入死循环

原来为:if (auths)

  // 获取用户信息
  getInfo({ commit, state }) {
    return new Promise((resolve, reject) => {
      getInfo(state.token).then(response => {
        // const { name, avatar, roles, auths } = response.data
        const { name, avatar, auths } = response.data

        if (!name) {
          reject('用户未登录,请登录.')
        }
        commit('SET_NAME', name)// 姓名
        commit('SET_AVATAR', avatar)// 头像
        commit('SET_USER', response.data)// 用户信息
        // commit('SET_ROLES', roles)// 用户角色(实际值为空 没有用到)
        if (auths && auths.length > 0) { // like12 find bug,数组为空[]时依然会进入死循环
          commit('SET_ROLES', auths)// 用户角色(按钮权限控制 v-permission实际使用的是roles 而非permissions)
          commit('SET_PERMISSIONS', auths)// 用户权限
        } else {
          // 如果没有任何权限 则赋一个默认权限 避免请求死循环
          commit('SET_ROLES', 'admin')
          commit('SET_PERMISSIONS', 'admin')
        }
        resolve(response)
      }).catch(error => {
        reject(error)
      })
    })
  },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值