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

2.7 KiB
Raw Blame 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 提示信息

请求示例

DELETE /system/language/1,2,3

响应示例

{
  "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. 批量删除时,如果其中一个语言删除失败,整个操作会回滚