datai-vue/docs/api-docs/system/2026-01-26-002-08-04-api-修改语言.md

116 lines
3.1 KiB
Markdown
Raw Permalink Normal View History

# API 文档:修改语言接口
## 元数据
- **需求编号**2026-01-26-002-08-04
- **创建时间**2026-01-26
- **创建人**SSOT 架构师
- **父需求**2026-01-26-002-08-语言管理功能
- **状态**:已完成
## 功能概述
修改已有的语言信息。
## 接口信息
### 基本信息
- **接口名称**:修改语言
- **接口功能**:更新已存在的语言信息
- **请求方式**PUT
- **请求路径**`/system/language`
- **权限要求**`system:language:edit`
### 请求参数
| 参数名 | 类型 | 必选 | 说明 | 示例值 |
|--------|------|------|------|--------|
| id | Long | 是 | 语言 ID | 2 |
| langCode | String | 是 | 语言代码 | en-US |
| langName | String | 是 | 语言名称 | 英语(美国) |
| langNameEn | String | 是 | 语言英文名称 | English (United States) |
| sortOrder | Integer | 否 | 排序 | 2 |
| status | String | 否 | 状态0正常 1停用 | 0 |
### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 状态码200 成功) |
| msg | String | 提示信息 |
### 请求示例
```http
PUT /system/language
Content-Type: application/json
{
"id": 2,
"langCode": "en-US",
"langName": "英语(美国)",
"langNameEn": "English (United States)",
"sortOrder": 2,
"status": "0"
}
```
### 响应示例
```json
{
"code": 200,
"msg": "修改成功"
}
```
## 错误码
| 错误码 | 说明 | 处理建议 |
|--------|------|----------|
| 400 | 请求参数错误 | 检查请求参数是否正确 |
| 401 | 未登录或登录已过期 | 重新登录 |
| 403 | 无权限访问 | 联系管理员分配权限 |
| 404 | 语言不存在 | 检查语言 ID 是否正确 |
| 409 | 语言代码已存在 | 使用不同的语言代码 |
| 500 | 服务器内部错误 | 联系技术支持 |
## 业务规则
1. **唯一性规则**
- 语言代码langCode必须唯一
- 不能修改为已存在的语言代码(除自己外)
2. **必填规则**
- 语言 IDid为必填项
- 语言代码langCode为必填项
- 语言名称langName为必填项
- 语言英文名称langNameEn为必填项
3. **数据权限**
- 需要登录用户
- 需要具备 `system:language:edit` 权限
4. **修改后处理**
- 清除语言列表缓存
- 清除语言详情缓存
- 记录操作日志
5. **特殊限制**
- 不能修改默认语言的 ID
- 不能修改语言代码为系统保留的代码(如 zh-CN、en-US
## 缓存策略
- **缓存类型**Redis
- **缓存更新**
- 修改语言后清除该语言的缓存
- 清除所有语言列表缓存
- 清除缓存键模式:`system:language:*`
## 注意事项
1. 修改语言代码会影响所有使用该语言的用户,建议谨慎操作
2. 修改语言名称不会影响语言代码,前端显示的语言名称会立即更新
3. 修改语言状态后,停用的语言不会在前端语言选择列表中显示
4. 修改排序字段会影响语言在前端的显示顺序
5. 修改语言信息后,建议刷新国际化资源缓存以确保翻译内容生效