Commit f832d6f1 authored by Qingyu Deng's avatar Qingyu Deng

feat: permission for menu item

parent 1cec5b57
...@@ -12,14 +12,9 @@ ...@@ -12,14 +12,9 @@
unique-opened unique-opened
> >
<el-menu-item <el-menu-item
v-for="item in headerConfig" v-for="item in visibleMenuItems"
:index="item.path" :index="item.path"
:key="item.path" :key="item.path"
v-show="
!item.requireAuthentication ||
(item.requireAuthentication &&
hasPermission(item.requiredPermission))
"
> >
{{ item.name }} {{ item.name }}
</el-menu-item> </el-menu-item>
...@@ -48,6 +43,18 @@ export default { ...@@ -48,6 +43,18 @@ export default {
activeMenu() { activeMenu() {
return this.$route.path; return this.$route.path;
}, },
visibleMenuItems() {
const visibleMenuItems = this.headerConfig.filter((item) => {
if (!item.requireAuthentication) {
return true;
}
if (this.hasPermission(item.requiredPermission)) {
return true;
}
return false;
});
return visibleMenuItems;
},
}, },
beforeMount() {}, beforeMount() {},
methods: { methods: {
......
...@@ -39,9 +39,9 @@ export default createStore({ ...@@ -39,9 +39,9 @@ export default createStore({
const permissionMap = permissions.reduce((prev, permission) => { const permissionMap = permissions.reduce((prev, permission) => {
prev[permission.name] = permission; prev[permission.name] = permission;
return prev; return prev;
}); }, {});
commit("updatePermissionForApp", { appId, permissionMap }); commit("updatePermissionForApp", { appId, permissions: permissionMap });
return; return;
} }
console.error("无 appId 注册", appId); console.error("无 appId 注册", appId);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment