# 角色权限菜单显示问题修复计划 ## 问题分析 用户反馈:创建了 `jayhgq` 用户,分配了"大会员"角色(该角色只能看到用户管理),但登录后仍然能看到角色和权限管理菜单。 **根本原因**:前端 `AdminLayout.vue` 中的菜单项是硬编码的,没有根据用户权限动态过滤。 ## 修复方案 ### 步骤 1:后端添加获取当前用户权限接口 在 `/permissions` 路由中添加一个新接口,用于获取当前登录用户的权限列表。 **文件**:`backend/auth/apps/permissions/urls.py` ### 步骤 2:前端认证 Store 添加权限获取方法 在 `auth.ts` 中添加获取用户权限的方法,并存储权限列表。 **文件**:`frontend/src/modules/admin/stores/auth.ts` ### 步骤 3:修改前端布局组件动态渲染菜单 修改 `AdminLayout.vue`,根据用户权限动态显示菜单项。 **文件**:`frontend/src/modules/admin/layout/AdminLayout.vue` ### 步骤 4:路由权限控制(可选增强) 在路由守卫中添加权限验证,防止无权限用户直接访问受保护的路由。 **文件**:`frontend/src/router/index.ts` ## 预期效果 - 用户登录后,系统会根据其角色权限动态显示菜单项 - "大会员"角色只能看到"用户管理"菜单 - "管理员"角色可以看到所有菜单 ## 风险评估 - 低风险:修改范围明确,不影响核心业务逻辑 - 需要确保权限编码与菜单的对应关系正确