datai-vue/docs/api-docs/system/2026-01-26-002-08-03-api-新增语言.md

111 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

# API 文档:新增语言接口
## 元数据
- **需求编号**2026-01-26-002-08-03
- **创建时间**2026-01-26
- **创建人**SSOT 架构师
- **父需求**2026-01-26-002-08-语言管理功能
- **状态**:已完成
## 功能概述
新增一种系统支持的语言。
## 接口信息
### 基本信息
- **接口名称**:新增语言
- **接口功能**:添加新的语言到系统
- **请求方式**POST
- **请求路径**`/system/language`
- **权限要求**`system:language:add`
### 请求参数
| 参数名 | 类型 | 必选 | 说明 | 示例值 |
|--------|------|------|------|--------|
| langCode | String | 是 | 语言代码(如 zh-CN | ja-JP |
| langName | String | 是 | 语言名称 | 日语 |
| langNameEn | String | 是 | 语言英文名称 | Japanese |
| sortOrder | Integer | 否 | 排序 | 3 |
| status | String | 否 | 状态0正常 1停用 | 0 |
### 响应参数
| 参数名 | 类型 | 说明 |
|--------|------|------|
| code | Integer | 状态码200 成功) |
| msg | String | 提示信息 |
### 请求示例
```http
POST /system/language
Content-Type: application/json
{
"langCode": "ja-JP",
"langName": "日语",
"langNameEn": "Japanese",
"sortOrder": 3,
"status": "0"
}
```
### 响应示例
```json
{
"code": 200,
"msg": "新增成功"
}
```
## 错误码
| 错误码 | 说明 | 处理建议 |
|--------|------|----------|
| 400 | 请求参数错误 | 检查请求参数是否正确 |
| 401 | 未登录或登录已过期 | 重新登录 |
| 403 | 无权限访问 | 联系管理员分配权限 |
| 409 | 语言代码已存在 | 使用不同的语言代码 |
| 500 | 服务器内部错误 | 联系技术支持 |
## 业务规则
1. **唯一性规则**
- 语言代码langCode必须唯一
- 不能添加已存在的语言代码
2. **必填规则**
- 语言代码langCode为必填项
- 语言名称langName为必填项
- 语言英文名称langNameEn为必填项
3. **默认值规则**
- 排序字段sortOrder默认为 0
- 状态status默认为 0正常
4. **数据权限**
- 需要登录用户
- 需要具备 `system:language:add` 权限
5. **新增后处理**
- 清除语言列表缓存
- 清除语言详情缓存
- 记录操作日志
## 缓存策略
- **缓存类型**Redis
- **缓存更新**
- 新增语言后清除所有语言相关的缓存
- 清除缓存键模式:`system:language:*`
## 注意事项
1. 语言代码建议使用标准的 IETF BCP 47 格式(如 zh-CN、en-US、ja-JP
2. 新增的语言默认状态为正常0可在新增后通过修改状态接口停用
3. 新增的语言不会自动成为默认语言,需要通过设置默认语言接口手动设置
4. 新增语言后,需要为该语言准备对应的国际化资源文件
5. 建议在新增语言前确认系统是否已准备好该语言的翻译资源