fix: menuType字段值改为与字典menu_type一致(D/M/B)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
这个提交包含在:
API Changelog Bot 2026-03-18 10:32:41 +08:00
父节点 ec6f5be6ee
当前提交 8c407d2c0e

查看文件

@ -0,0 +1,96 @@
# 菜单管理 - menuType 字段值修正
> **日期**: 2026-03-18
> **后端状态**: ✅ 已完成并部署测试环境
> **影响接口**: 菜单管理模块所有接口
---
## 变更说明
`menuType` 字段值从英文全称改为与字典 `menu_type` 一致的简码。
### 变更前
| 值 | 含义 |
|----|------|
| `DIRECTORY` | 目录 |
| `MENU` | 菜单 |
| `BUTTON` | 按钮 |
### 变更后(与字典 menu_type 一致)
| 值 | 含义 |
|----|------|
| `D` | 目录 |
| `M` | 菜单 |
| `B` | 按钮 |
---
## 影响的接口
| # | 接口 | 方法 | 路径 | 影响 |
|---|------|------|------|------|
| 1 | 创建菜单 | POST | `/admin/menu` | 请求参数 menuType 改用 D/M/B |
| 2 | 更新菜单 | PUT | `/admin/menu/{menuId}` | 请求参数 menuType 改用 D/M/B |
| 3 | 获取菜单详情 | GET | `/admin/menu/{menuId}` | 返回 menuType 为 D/M/B |
| 4 | 获取当前管理员菜单 | GET | `/admin/menu/my` | 返回 menuType 为 D/M/B |
| 5 | 获取完整菜单树 | GET | `/admin/menu/tree` | 返回 menuType 为 D/M/B |
| 6 | 获取角色菜单树 | GET | `/admin/menu/tree/role/{roleId}` | 返回 menuType 为 D/M/B |
---
## 前端需要修改的地方
1. **创建/更新菜单时**menuType 传值从 `DIRECTORY`/`MENU`/`BUTTON` 改为 `D`/`M`/`B`
2. **菜单类型判断逻辑**:所有 `=== 'DIRECTORY'` 改为 `=== 'D'``=== 'MENU'` 改为 `=== 'M'``=== 'BUTTON'` 改为 `=== 'B'`
3. **菜单类型显示**:可通过字典接口 `GET /admin/dict/type/menu_type` 获取中文标签
### 示例:创建菜单
```javascript
// 变更前
await request.post('/admin/menu', {
menuName: '用户管理',
menuType: 'MENU', // ❌ 旧值
path: '/system/user',
component: 'system/user/index'
})
// 变更后
await request.post('/admin/menu', {
menuName: '用户管理',
menuType: 'M', // ✅ 新值
path: '/system/user',
component: 'system/user/index'
})
```
### 示例:菜单树类型判断
```javascript
// 变更前
if (menu.menuType === 'DIRECTORY') { /* 目录 */ }
if (menu.menuType === 'MENU') { /* 菜单 */ }
if (menu.menuType === 'BUTTON') { /* 按钮 */ }
// 变更后
if (menu.menuType === 'D') { /* 目录 */ }
if (menu.menuType === 'M') { /* 菜单 */ }
if (menu.menuType === 'B') { /* 按钮 */ }
```
---
## 关联字典
### menu_type菜单类型
| dict_value | dict_label |
|------------|------------|
| `D` | 目录 |
| `M` | 菜单 |
| `B` | 按钮 |
> 数据库旧数据已全部修正(`DIRECTORY``D`, `MENU``M`, `BUTTON``B`, 以及其他非标准值 `0``D`, `1``M`, `C``M`, `F``B`),前端只需适配新的简码即可。