权限系统重构:

- 角色模型改为 permissions 字段,移除 methods/includeUri/excludeUri
- 角色管理页面支持权限树选择,保存时只传最上级权限
- /common/verifyToken 返回 permissions,存入 vuex
- 新增 v-permission 指令,所有操作按钮和菜单均按权限控制显示
- 菜单按 list 权限过滤
- 各业务页面按钮加权限指令
- 角色管理列表只显示名称/描述/时间,不显示权限列,权限必选
This commit is contained in:
2026-04-02 20:38:14 +08:00
parent 86c7d75963
commit a4f7db415e
16 changed files with 268 additions and 105 deletions
+26 -11
View File
@@ -1,24 +1,39 @@
export default [
export interface MenuItem {
title: string
path: string
permission: string // 需要的权限标识(list类型)
}
export interface MenuGroup {
name: string
title: string
icon: string
child: MenuItem[]
}
const menus: MenuGroup[] = [
{
name: 'system',
title: '系统管理',
icon: 'Operation',
child: [
{ title: '系统配置', path: '/system/config' },
{ title: '用户管理', path: '/system/user' },
{ title: '角色管理', path: '/system/role' },
{ title: '博客文章', path: '/system/article' },
{ title: '分析统计', path: '/system/statistics' }
{ title: '系统配置', path: '/system/config', permission: 'config:list' },
{ title: '用户管理', path: '/system/user', permission: 'user:list' },
{ title: '角色管理', path: '/system/role', permission: 'role:list' },
{ title: '博客文章', path: '/system/article', permission: 'article:list' },
{ title: '分析统计', path: '/system/statistics', permission: 'article:list' }
]
},{
name: 'api',
title: 'API数据',
icon: 'Histogram',
child: [
{ title: '一言', path: '/api/hitokoto' },
{ title: '照片墙', path: '/api/photoWall' },
{ title: '图片资源库', path: '/api/sourceImage' },
{ title: '歌曲库', path: '/api/music' }
{ title: '一言', path: '/api/hitokoto', permission: 'hitokoto:list' },
{ title: '照片墙', path: '/api/photoWall', permission: 'photoWall:list' },
{ title: '图片资源库', path: '/api/sourceImage', permission: 'sourceImage:list' },
{ title: '歌曲库', path: '/api/music', permission: 'music:list' }
]
}
]
]
export default menus