fix: 接入用户与权限后端接口
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<script setup lang="ts">
|
||||
import { computed } from 'vue'
|
||||
import { RouterLink, useRouter } from 'vue-router'
|
||||
|
||||
import { useLoginStore } from '@/stores/login'
|
||||
@@ -6,6 +7,7 @@ import { useLoginStore } from '@/stores/login'
|
||||
interface MenuItem {
|
||||
path: string
|
||||
label: string
|
||||
permission?: string
|
||||
}
|
||||
|
||||
interface MenuGroup {
|
||||
@@ -29,13 +31,24 @@ const menuGroups: MenuGroup[] = [
|
||||
items: [
|
||||
{ path: '/management/documents', label: '文档库管理' },
|
||||
{ path: '/management/reports', label: '报表分析' },
|
||||
{ path: '/management/users', label: '用户与权限' },
|
||||
{ path: '/management/users', label: '用户与权限', permission: 'system:user:query' },
|
||||
{ path: '/management/document-permissions', label: '文档权限' },
|
||||
{ path: '/management/settings', label: '系统设置' },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
const visibleMenuGroups = computed(() =>
|
||||
menuGroups
|
||||
.map((group) => ({
|
||||
...group,
|
||||
items: group.items.filter(
|
||||
(item) => !item.permission || loginStore.hasPermission(item.permission),
|
||||
),
|
||||
}))
|
||||
.filter((group) => group.items.length),
|
||||
)
|
||||
|
||||
async function handleLogout() {
|
||||
try {
|
||||
await loginStore.logout()
|
||||
@@ -74,7 +87,7 @@ async function handleLogout() {
|
||||
</div>
|
||||
|
||||
<nav class="menu-nav" aria-label="主导航">
|
||||
<div v-for="group in menuGroups" :key="group.label" class="menu-group">
|
||||
<div v-for="group in visibleMenuGroups" :key="group.label" class="menu-group">
|
||||
<div class="menu-group-title">{{ group.label }}</div>
|
||||
<RouterLink
|
||||
v-for="item in group.items"
|
||||
|
||||
Reference in New Issue
Block a user