fix: menuType字段值改为与字典menu_type一致(D/M/B)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
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`),前端只需适配新的简码即可。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户