Skip to content

菜单管理 ​

菜单、页面与按钮三级权限资源的维护。

菜单列表(平铺) ​

接口地址 ​

text
GET /admin/menu/list

接口参数说明 ​

Query 参数类型必填说明
namestring否菜单名称(模糊匹配)
typeinteger否菜单类型 1目录 2菜单 3按钮

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "id": 1,
      "created_at": "2026-09-25T10:00:00+08:00",
      "updated_at": "2026-09-25T10:00:00+08:00",
      "name": "用户管理",
      "type": 1,
      "parent_id": 0,
      "path": "/system/user",
      "api_path": "POST:/admin/user/add",
      "icon": "User",
      "sort": 0,
      "status": 1,
      "remark": ""
    }
  ]
}

响应参数说明 ​

成功时 data 为 null。

菜单树 ​

接口地址 ​

text
GET /admin/menu/tree

接口参数说明 ​

无请求参数。

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": [
    {
      "data": {
        "id": 1,
        "created_at": "2026-09-25T10:00:00+08:00",
        "updated_at": "2026-09-25T10:00:00+08:00",
        "name": "用户管理",
        "type": 1,
        "parent_id": 0,
        "path": "/system/user",
        "api_path": "POST:/admin/user/add",
        "icon": "User",
        "sort": 0,
        "status": 1,
        "remark": ""
      },
      "children": [
        {
          "data": {
            "id": 1,
            "created_at": "2026-09-25T10:00:00+08:00",
            "updated_at": "2026-09-25T10:00:00+08:00",
            "name": "用户管理",
            "type": 1,
            "parent_id": 0,
            "path": "/system/user",
            "api_path": "POST:/admin/user/add",
            "icon": "User",
            "sort": 0,
            "status": 1,
            "remark": ""
          },
          "children": [
            {
              "data": {
              },
              "children": [
                {
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

响应参数说明 ​

成功时 data 为 null。

新增菜单/按钮 ​

接口地址 ​

text
POST /admin/menu/add

接口说明 ​

类型为按钮(type=3)时,api_path 必填,需绑定后端接口地址。

接口参数说明 ​

Body 参数类型必填说明
idinteger否主键ID,新增时不传
namestring是菜单名称
typeinteger是类型 1目录 2菜单页面 3按钮
parent_idinteger否上级菜单ID
pathstring否前端路由地址
api_pathstring否接口权限地址,按钮必填,多个用逗号分隔
iconstring否菜单图标
sortinteger否排序
statusinteger否显示状态 1显示 2隐藏
remarkstring否备注

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "id": 1,
    "created_at": "2026-09-25T10:00:00+08:00",
    "updated_at": "2026-09-25T10:00:00+08:00",
    "name": "用户管理",
    "type": 1,
    "parent_id": 0,
    "path": "/system/user",
    "api_path": "POST:/admin/user/add",
    "icon": "User",
    "sort": 0,
    "status": 1,
    "remark": ""
  }
}

响应参数说明 ​

响应字段类型说明
idinteger主键ID
created_atstring创建时间
updated_atstring更新时间
namestring菜单名称
typeinteger类型 1目录 2菜单页面 3按钮
parent_idinteger上级菜单ID,0 为顶级
pathstring前端路由地址
api_pathstring接口权限地址,按钮必填,多个用逗号分隔,如 POST:/admin/user/add
iconstring菜单图标
sortinteger排序,越小越靠前
statusinteger显示状态 1显示 2隐藏
remarkstring备注

修改菜单/按钮 ​

接口地址 ​

text
POST /admin/menu/update

接口说明 ​

必须传 id;上级菜单不能选择自身或其子孙节点。 菜单变更后会自动清除全部权限缓存。

接口参数说明 ​

Body 参数类型必填说明
idinteger否主键ID,新增时不传
namestring是菜单名称
typeinteger是类型 1目录 2菜单页面 3按钮
parent_idinteger否上级菜单ID
pathstring否前端路由地址
api_pathstring否接口权限地址,按钮必填,多个用逗号分隔
iconstring否菜单图标
sortinteger否排序
statusinteger否显示状态 1显示 2隐藏
remarkstring否备注

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "id": 1,
    "created_at": "2026-09-25T10:00:00+08:00",
    "updated_at": "2026-09-25T10:00:00+08:00",
    "name": "用户管理",
    "type": 1,
    "parent_id": 0,
    "path": "/system/user",
    "api_path": "POST:/admin/user/add",
    "icon": "User",
    "sort": 0,
    "status": 1,
    "remark": ""
  }
}

响应参数说明 ​

响应字段类型说明
idinteger主键ID
created_atstring创建时间
updated_atstring更新时间
namestring菜单名称
typeinteger类型 1目录 2菜单页面 3按钮
parent_idinteger上级菜单ID,0 为顶级
pathstring前端路由地址
api_pathstring接口权限地址,按钮必填,多个用逗号分隔,如 POST:/admin/user/add
iconstring菜单图标
sortinteger排序,越小越靠前
statusinteger显示状态 1显示 2隐藏
remarkstring备注

删除菜单/按钮 ​

接口地址 ​

text
POST /admin/menu/delete

接口说明 ​

存在子级或已被角色绑定时不允许删除。

接口参数说明 ​

Body 参数类型必填说明
idinteger是主键ID

响应示例 ​

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "code": 0,
    "msg": "success",
    "data": null
  }
}

响应参数说明 ​

成功时 data 为 null。