- 更新 environment.js 中 initSlaveDatasource 函数参数从 environmentCode 改为 environmentId - 更新 SourceEnvironmentTab.vue 中的初始化从库功能以使用 environmentId - 在 TargetEnvironmentTab.vue 中添加完整的初始化从库功能 - 初始化项目单一真源(SSOT)文档结构,包括: - 创建主 index.md 作为项目单一真源 - 创建 Authentication.canvas 可视化文件 - 创建所有必需的文档目录和 README.md 文件 - 建立完整的双向索引关系
102 lines
2.7 KiB
Markdown
102 lines
2.7 KiB
Markdown
# 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. 批量删除时,如果其中一个语言删除失败,整个操作会回滚
|