前端通过localStorage.getItem()实现因角色权限的不同而展示不同的界面

用户在登录的时候会将数据保存到key,因此可以通过读取key中的信息去判断,从而进行根据不同角色展现不同的界面。

保存数据语法:

localStorage.setItem("key", "value");

读取数据语法:

var lastname = localStorage.getItem("key");

实际代码:

 computed: {
    
    
    admin() {
    
    
      let lastname = JSON.parse(localStorage.getItem("key"));
      // 判断是否是具有权限的账号
      if (lastname.roles.includes("admin")) {
    
    
        return true;
      } else {
    
    
        return false;
      }
    },
  },

方法写在计算属性中
思路:
通过localStorage.getItem("key")取得用户登录的数据,然后通过JSON.parse();将数据转换成字符串,再通过if语句判断取得的数据中是否有代表用户权限的字段"admin",如有,则该用户是管理员,有权限,否则无。

<el-table-column align="center" width="120" label="操作" v-if="admin">
          <template slot-scope="scope" >
            <el-button
              @click.native.prevent="openDialog(scope.row)"
              size="small"
              type="text"
            >
              编辑
            </el-button>
            <el-button
       
              @click.native.prevent="deleteRemove(scope.row.documentId)"
              type="text"
              size="small"
            >
              删除
            </el-button>
          </template>
        </el-table-column>

最后再需要进行权限判断的模块进行 v-if="admin"判断

希望有所帮助

猜你喜欢

转载自blog.csdn.net/clzd_ajsx/article/details/128838288