用户在登录的时候会将数据保存到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"判断
希望有所帮助

文章介绍了如何在用户登录时利用localStorage保存数据,并通过JavaScript的JSON.parse方法解析数据,然后根据用户的role进行权限判断。如果用户角色包含admin,则显示特定的界面操作,如编辑和删除功能。这种方法用于实现前端的权限控制。
1274

被折叠的 条评论
为什么被折叠?



