- 更新 environment.js 中 initSlaveDatasource 函数参数从 environmentCode 改为 environmentId - 更新 SourceEnvironmentTab.vue 中的初始化从库功能以使用 environmentId - 在 TargetEnvironmentTab.vue 中添加完整的初始化从库功能 - 初始化项目单一真源(SSOT)文档结构,包括: - 创建主 index.md 作为项目单一真源 - 创建 Authentication.canvas 可视化文件 - 创建所有必需的文档目录和 README.md 文件 - 建立完整的双向索引关系
106 lines
3.2 KiB
Markdown
106 lines
3.2 KiB
Markdown
# API 文档:新增菜单接口
|
||
|
||
## 元数据
|
||
- **需求编号**:2026-01-21-002-03-28
|
||
- **创建时间**:2026-01-26
|
||
- **创建人**:SSOT 架构师
|
||
- **父需求**:2026-01-21-002-03-数据库国际化需求
|
||
|
||
## 接口概述
|
||
新增一条菜单,支持填写中文字段和英文字段。
|
||
|
||
## 接口详情
|
||
|
||
### 基本信息
|
||
- **接口名称**:新增菜单
|
||
- **接口描述**:新增菜单,支持国际化
|
||
- **请求方式**:POST
|
||
- **请求路径**:`/system/menu`
|
||
- **权限要求**:`system:menu:add`
|
||
|
||
### 请求参数
|
||
| 参数名 | 类型 | 必选 | 说明 |
|
||
|--------|------|------|------|
|
||
| menuName | String | 是 | 菜单名称(中文) |
|
||
| menuNameEn | String | 否 | 菜单名称(英文) |
|
||
| menuNameI18n | String | 否 | 菜单名称(多语言JSON) |
|
||
| parentId | Long | 是 | 父菜单ID |
|
||
| orderNum | Integer | 是 | 显示顺序 |
|
||
| path | String | 否 | 路由地址 |
|
||
| component | String | 否 | 组件路径 |
|
||
| query | String | 否 | 路由参数 |
|
||
| routeName | String | 否 | 路由名称 |
|
||
| isFrame | String | 否 | 是否为外链(0是 1否) |
|
||
| isCache | String | 否 | 是否缓存(0缓存 1不缓存) |
|
||
| menuType | String | 是 | 类型(M目录 C菜单 F按钮) |
|
||
| visible | String | 否 | 显示状态(0显示 1隐藏) |
|
||
| status | String | 否 | 菜单状态(0正常 1停用) |
|
||
| perms | String | 否 | 权限字符串 |
|
||
| icon | String | 否 | 菜单图标 |
|
||
|
||
### 请求示例
|
||
```bash
|
||
curl -X POST 'http://localhost:8080/system/menu' \
|
||
-H 'Authorization: Bearer {token}' \
|
||
-H 'Content-Type: application/json' \
|
||
-d '{
|
||
"menuName": "用户管理",
|
||
"menuNameEn": "User Management",
|
||
"parentId": 1,
|
||
"orderNum": 1,
|
||
"path": "user",
|
||
"component": "system/user/index",
|
||
"menuType": "C",
|
||
"visible": "0",
|
||
"status": "0",
|
||
"perms": "system:user:list",
|
||
"icon": "user"
|
||
}'
|
||
```
|
||
|
||
### 响应数据结构
|
||
| 参数名 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| code | Integer | 状态码(200 成功,500 失败) |
|
||
| msg | String | 提示信息 |
|
||
| data | Object | 数据对象(通常为 null) |
|
||
|
||
### 响应示例
|
||
|
||
**成功响应:**
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"msg": "操作成功",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
**失败响应:**
|
||
```json
|
||
{
|
||
"code": 500,
|
||
"msg": "新增菜单'用户管理'失败,菜单名称已存在",
|
||
"data": null
|
||
}
|
||
```
|
||
|
||
### 业务规则
|
||
1. 菜单名称在同一父菜单下必须唯一
|
||
2. 如果是外链菜单,地址必须以 http(s):// 开头
|
||
3. 修改 `menuName` 时,自动翻译并更新 `menuNameEn`(调用翻译 API)
|
||
4. 新增成功后,清除菜单缓存
|
||
|
||
### 国际化说明
|
||
- 支持填写中文字段(menuName)和英文字段(menuNameEn)
|
||
- 支持填写多语言 JSON 字段(menuNameI18n)
|
||
- 自动翻译功能:修改中文字段时,自动翻译并更新英文字段
|
||
|
||
### 性能要求
|
||
- **响应时间**:< 100ms
|
||
- **数据库插入时间**:< 50ms
|
||
|
||
### 相关文档
|
||
- [需求文档](file:///d:/idea_demo/datai/datai-scenes/datai-scene-salesforce/docs/requirements/2026-01-21-002-03-数据库国际化需求.md)
|
||
- [设计文档](file:///d:/idea_demo/datai/datai-scenes/datai-scene-salesforce/docs/design/2026-01-21-002-03-数据库国际化设计.md)
|