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