文档目录
glen
· 预计阅读 1 分钟

菜单贡献和登录页定制

本文导航
菜单贡献和登录页定制

菜单贡献和登录页定制

菜单贡献

子系统可以把菜单挂到已经存在的父菜单下面,不必自己再做一整棵树。

menuContributions: [
  {
    targetMenuName: "System",
    menus: [
      {
        path: "/order/list/index",
        name: "OrderList",
        meta: {
          title: "订单",
          icon: "ep:list",
          showParent: true
        }
      }
    ]
  }
]

targetMenuName 是父路由的 name,不是 path,也不是中文标题。合并函数按 name 找父节点。找不到只 console.warn,菜单不会出现,应用也不会崩。

后台菜单多数来自后端 GET /api/v1/users/me/menus。贡献是在这份树转好之后再挂上去的。父节点必须先出现在后端菜单或静态路由里。

登录页定制

login 只替换已有槽位,不改表单逻辑:

login: {
  bg: new URL("./assets/login-bg.png", import.meta.url).href,
  title: "订单中心",
  subtitle: "请使用管理员账号登录",
  primaryColor: "#2f6a4a",
  loginFormWidth: "480px",
  accountLabel: "账号",
  passwordLabel: "密码"
}

声明了 bg 之后,登录页使用全屏背景加右侧表单。primaryColor 写到 --el-color-primary,Element Plus 的按钮跟着变。

多个子系统都写了 login 时,按 subsystems 数组顺序浅合并,靠后的字段覆盖靠前的。没写的字段保留上一个子系统的值。一个都没写时,框架用内置素材。

评论

加载评论中…

上一篇 视图模块和路径前缀 下一篇 写一个最小子系统

BitLabs © 2026 · 论坛讨论 · 博客长文 · 文档手册