- 
                Notifications
    
You must be signed in to change notification settings  - Fork 105
 
Open
Description
[任务] 动态配置 UI 菜单并设计相关 API
[任务分值] 20 分
[背景描述]
当前 Mega 系统中的前端菜单(如左侧导航栏、顶部工具栏、项目菜单等)主要是静态定义在前端代码中。
这种方式虽然简单,但存在以下问题:
- 灵活性不足:新增功能或项目级定制菜单时,必须修改前端代码并重新构建;
 - 缺少配置化能力:系统管理员无法通过管理后台调整菜单结构(如分组、排序、显示名称等)。
 
为了解决这些问题,需要支持 UI 菜单的动态配置
[需求描述]
- 动态加载菜单
 
- 前端通过 API 获取菜单配置(树状结构),动态渲染 UI。
 - 菜单配置由后端数据库维护,可在运行时调整显示状态。
 
- 超管权限修改
 
- 仅系统超级管理员(Super Admin)可修改菜单配置。
 - 初始化时通过 migration 写入默认菜单配置。
 
- 控制菜单显隐
 
- 每个菜单项包含一个 visible 字段(bool 类型),用于控制是否显示。
 - 不区分用户角色或权限,只控制“显示 / 隐藏”。
 
[代码标准]
- 所有 PR 提交必须签署 
Signed-off-by和 使用GPG签名,即提交代码时(使用git commit命令时)至少使用-s -S两个参数,参考 Contributing Guide; - 所有 PR 提交必须通过 
GitHub Actions自动化测试,提交 PR 后请关注GitHub Actions结果; - 代码注释均需要使用英文;
 
[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;
[开发指导]
- 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;
 
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。
- Quanyi Ma [email protected]
 - Tianxing Ye [email protected]
 
[备注]
- 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务 和 r2cn 开源实习计划 - 学生注册与审核