菜单管理
菜单、页面与按钮三级权限资源的维护。
菜单列表(平铺)
接口地址
text
GET /admin/menu/list接口参数说明
| Query 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 否 | 菜单名称(模糊匹配) |
type | integer | 否 | 菜单类型 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 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 否 | 主键ID,新增时不传 |
name | string | 是 | 菜单名称 |
type | integer | 是 | 类型 1目录 2菜单页面 3按钮 |
parent_id | integer | 否 | 上级菜单ID |
path | string | 否 | 前端路由地址 |
api_path | string | 否 | 接口权限地址,按钮必填,多个用逗号分隔 |
icon | string | 否 | 菜单图标 |
sort | integer | 否 | 排序 |
status | integer | 否 | 显示状态 1显示 2隐藏 |
remark | string | 否 | 备注 |
响应示例
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": ""
}
}响应参数说明
| 响应字段 | 类型 | 说明 |
|---|---|---|
id | integer | 主键ID |
created_at | string | 创建时间 |
updated_at | string | 更新时间 |
name | string | 菜单名称 |
type | integer | 类型 1目录 2菜单页面 3按钮 |
parent_id | integer | 上级菜单ID,0 为顶级 |
path | string | 前端路由地址 |
api_path | string | 接口权限地址,按钮必填,多个用逗号分隔,如 POST:/admin/user/add |
icon | string | 菜单图标 |
sort | integer | 排序,越小越靠前 |
status | integer | 显示状态 1显示 2隐藏 |
remark | string | 备注 |
修改菜单/按钮
接口地址
text
POST /admin/menu/update接口说明
必须传 id;上级菜单不能选择自身或其子孙节点。 菜单变更后会自动清除全部权限缓存。
接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 否 | 主键ID,新增时不传 |
name | string | 是 | 菜单名称 |
type | integer | 是 | 类型 1目录 2菜单页面 3按钮 |
parent_id | integer | 否 | 上级菜单ID |
path | string | 否 | 前端路由地址 |
api_path | string | 否 | 接口权限地址,按钮必填,多个用逗号分隔 |
icon | string | 否 | 菜单图标 |
sort | integer | 否 | 排序 |
status | integer | 否 | 显示状态 1显示 2隐藏 |
remark | string | 否 | 备注 |
响应示例
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": ""
}
}响应参数说明
| 响应字段 | 类型 | 说明 |
|---|---|---|
id | integer | 主键ID |
created_at | string | 创建时间 |
updated_at | string | 更新时间 |
name | string | 菜单名称 |
type | integer | 类型 1目录 2菜单页面 3按钮 |
parent_id | integer | 上级菜单ID,0 为顶级 |
path | string | 前端路由地址 |
api_path | string | 接口权限地址,按钮必填,多个用逗号分隔,如 POST:/admin/user/add |
icon | string | 菜单图标 |
sort | integer | 排序,越小越靠前 |
status | integer | 显示状态 1显示 2隐藏 |
remark | string | 备注 |
删除菜单/按钮
接口地址
text
POST /admin/menu/delete接口说明
存在子级或已被角色绑定时不允许删除。
接口参数说明
| Body 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | integer | 是 | 主键ID |
响应示例
json
{
"code": 0,
"msg": "success",
"data": {
"code": 0,
"msg": "success",
"data": null
}
}响应参数说明
成功时 data 为 null。