datai-vue/docs/api-docs/system/2026-01-26-002-08-05-api-删除语言.md

102 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

# API 文档:删除语言接口
## 元数据
- **需求编号**2026-01-26-002-08-05
- **创建时间**2026-01-26
- **创建人**SSOT 架构师
- **父需求**2026-01-26-002-08-语言管理功能
- **状态**:已完成
## 功能概述
删除一种或多种语言。
## 接口信息
### 基本信息
- **接口名称**:删除语言
- **接口功能**:删除已存在的语言(支持批量删除)
- **请求方式**DELETE
- **请求路径**`/system/language/{ids}`
- **权限要求**`system:language:remove`
### 请求参数
| 参数名 | 类型 | 必选 | 说明 | 示例值 |
|--------|------|------|------|--------|
| ids | Long[] | 是 | 语言 ID 数组(路径参数) | 1,2,3 |
### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 状态码200 成功) |
| msg | String | 提示信息 |
### 请求示例
```http
DELETE /system/language/1,2,3
```
### 响应示例
```json
{
"code": 200,
"msg": "删除成功"
}
```
## 错误码
| 错误码 | 说明 | 处理建议 |
|--------|------|----------|
| 400 | 请求参数错误 | 检查请求参数是否正确 |
| 401 | 未登录或登录已过期 | 重新登录 |
| 403 | 无权限访问 | 联系管理员分配权限 |
| 404 | 语言不存在 | 检查语言 ID 是否正确 |
| 409 | 不能删除默认语言 | 先设置其他语言为默认语言 |
| 500 | 服务器内部错误 | 联系技术支持 |
## 业务规则
1. **删除规则**
- 支持批量删除多个语言
- 必须提供至少一个有效的语言 ID
2. **数据权限**
- 需要登录用户
- 需要具备 `system:language:remove` 权限
3. **删除限制**
- 不能删除默认语言
- 不能删除正在被用户使用的语言
- 不能删除系统保留的语言(如 zh-CN、en-US
4. **删除后处理**
- 清除语言列表缓存
- 清除语言详情缓存
- 删除对应的国际化资源文件
- 记录操作日志
5. **级联处理**
- 删除语言后,使用该语言的用户会自动切换到系统默认语言
- 删除语言后,该语言的翻译资源会被删除
## 缓存策略
- **缓存类型**Redis
- **缓存更新**
- 删除语言后清除该语言的缓存
- 清除所有语言列表缓存
- 清除缓存键模式:`system:language:*`
## 注意事项
1. 删除语言是不可逆操作,请谨慎操作
2. 删除语言前,建议先确认是否有用户正在使用该语言
3. 删除语言后,该语言的翻译资源也会被删除,无法恢复
4. 删除默认语言会失败,需要先设置其他语言为默认语言
5. 建议在删除语言前,先停用该语言,观察一段时间后再删除
6. 批量删除时,如果其中一个语言删除失败,整个操作会回滚