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
在新工单中引用
屏蔽一个用户