Skip to content

[r2cn] 动态配置 UI 菜单并设计相关 API #1558

@benjamin-747

Description

@benjamin-747

[任务] 动态配置 UI 菜单并设计相关 API

[任务分值] 20 分

[背景描述]

当前 Mega 系统中的前端菜单(如左侧导航栏、顶部工具栏、项目菜单等)主要是静态定义在前端代码中。
这种方式虽然简单,但存在以下问题:

  • 灵活性不足:新增功能或项目级定制菜单时,必须修改前端代码并重新构建;
  • 缺少配置化能力:系统管理员无法通过管理后台调整菜单结构(如分组、排序、显示名称等)。

为了解决这些问题,需要支持 UI 菜单的动态配置

[需求描述]

  1. 动态加载菜单
  • 前端通过 API 获取菜单配置(树状结构),动态渲染 UI。
  • 菜单配置由后端数据库维护,可在运行时调整显示状态。
  1. 超管权限修改
  • 仅系统超级管理员(Super Admin)可修改菜单配置。
  • 初始化时通过 migration 写入默认菜单配置。
  1. 控制菜单显隐
  • 每个菜单项包含一个 visible 字段(bool 类型),用于控制是否显示。
  • 不区分用户角色或权限,只控制“显示 / 隐藏”。

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma [email protected]
  2. Tianxing Ye [email protected]

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions