From a281de1e54f61b89406efebac13a5d66e7f2110c Mon Sep 17 00:00:00 2001 From: zhengkunwang223 <1paneldev@sina.com> Date: Thu, 21 May 2026 16:27:44 +0800 Subject: [PATCH] feat: add some translate --- .gitignore | 1 + agent/cmd/server/docs/x-log.json | 217 +++++++++++++++++++++++++++++++ core/cmd/server/docs/x-log.json | 217 +++++++++++++++++++++++++++++++ core/i18n/lang/en.yaml | 3 + core/i18n/lang/es-ES.yaml | 3 + core/i18n/lang/ja.yaml | 3 + core/i18n/lang/ko.yaml | 3 + core/i18n/lang/ms.yaml | 3 + core/i18n/lang/pt-BR.yaml | 3 + core/i18n/lang/ru.yaml | 3 + core/i18n/lang/tr.yaml | 3 + core/i18n/lang/zh-Hant.yaml | 3 + core/i18n/lang/zh.yaml | 3 + core/middleware/operation.go | 11 ++ 14 files changed, 476 insertions(+) diff --git a/.gitignore b/.gitignore index 334cf41a40d7..b04fa7782d03 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,4 @@ AGENTS.md opencode.json superpowers .worktrees/ +.codex/ diff --git a/agent/cmd/server/docs/x-log.json b/agent/cmd/server/docs/x-log.json index 835d19c01acc..496f46cf867b 100644 --- a/agent/cmd/server/docs/x-log.json +++ b/agent/cmd/server/docs/x-log.json @@ -805,6 +805,223 @@ "formatZH": "更新快捷命令 [name]", "formatEN": "update quick command [name]" }, + "/core/enterprise/ai-benchmark/tasks": { + "bodyKeys": [ + "model" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 基准测试 [model]", + "formatEN": "create AI benchmark [model]" + }, + "/core/enterprise/ai-benchmark/tasks/:id/cancel": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "取消 AI 基准测试", + "formatEN": "cancel AI benchmark" + }, + "/core/enterprise/ai-benchmark/tasks/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 基准测试 [id]", + "formatEN": "delete AI benchmark [id]" + }, + "/core/enterprise/ai-proxy/api-keys/create": { + "bodyKeys": [ + "userId", + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关 API Key 用户 [userId] 分组 [groupId]", + "formatEN": "create AI proxy API key user [userId] group [groupId]" + }, + "/core/enterprise/ai-proxy/api-keys/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关 API Key [id]", + "formatEN": "delete AI proxy API key [id]" + }, + "/core/enterprise/ai-proxy/api-keys/reveal": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "查看 AI 网关 API Key [id]", + "formatEN": "reveal AI proxy API key [id]" + }, + "/core/enterprise/ai-proxy/api-keys/update": { + "bodyKeys": [ + "id", + "userId", + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关 API Key [id] 用户 [userId] 分组 [groupId]", + "formatEN": "update AI proxy API key [id] user [userId] group [groupId]" + }, + "/core/enterprise/ai-proxy/backends/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关后端 [id]", + "formatEN": "delete AI proxy backend [id]" + }, + "/core/enterprise/ai-proxy/backends/import": { + "bodyKeys": [ + "accountId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "导入 AI 网关后端账号 [accountId]", + "formatEN": "import AI proxy backend account [accountId]" + }, + "/core/enterprise/ai-proxy/backends/status": { + "bodyKeys": [ + "id", + "enabled" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关后端 [id] 状态 [enabled]", + "formatEN": "update AI proxy backend [id] status [enabled]" + }, + "/core/enterprise/ai-proxy/backends/update": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关后端 [id]", + "formatEN": "update AI proxy backend [id]" + }, + "/core/enterprise/ai-proxy/content/groups/create": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关敏感词分组 [name]", + "formatEN": "create AI proxy sensitive group [name]" + }, + "/core/enterprise/ai-proxy/content/groups/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关敏感词分组 [id]", + "formatEN": "delete AI proxy sensitive group [id]" + }, + "/core/enterprise/ai-proxy/content/groups/update": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关敏感词分组 [name]", + "formatEN": "update AI proxy sensitive group [name]" + }, + "/core/enterprise/ai-proxy/content/settings/update": { + "bodyKeys": [ + "enabled" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关内容审查设置 [enabled]", + "formatEN": "update AI proxy content audit settings [enabled]" + }, + "/core/enterprise/ai-proxy/content/words/create": { + "bodyKeys": [ + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关敏感词,分组 [groupId]", + "formatEN": "create AI proxy sensitive word, group [groupId]" + }, + "/core/enterprise/ai-proxy/content/words/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关敏感词 [id]", + "formatEN": "delete AI proxy sensitive word [id]" + }, + "/core/enterprise/ai-proxy/content/words/import": { + "bodyKeys": [ + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "导入 AI 网关敏感词,分组 [groupId]", + "formatEN": "import AI proxy sensitive words, group [groupId]" + }, + "/core/enterprise/ai-proxy/content/words/update": { + "bodyKeys": [ + "id", + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关敏感词 [id] 分组 [groupId]", + "formatEN": "update AI proxy sensitive word [id] group [groupId]" + }, + "/core/enterprise/ai-proxy/groups/create": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关分组 [name]", + "formatEN": "create AI proxy group [name]" + }, + "/core/enterprise/ai-proxy/groups/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关分组 [id]", + "formatEN": "delete AI proxy group [id]" + }, + "/core/enterprise/ai-proxy/groups/update": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关分组 [name]", + "formatEN": "update AI proxy group [name]" + }, + "/core/enterprise/ai-proxy/service/operate": { + "bodyKeys": [ + "operate" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "操作 AI 网关服务 [operate]", + "formatEN": "operate AI proxy service [operate]" + }, + "/core/enterprise/ai-proxy/settings/update": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关设置", + "formatEN": "update AI proxy settings" + }, "/core/enterprise/user": { "bodyKeys": [ "name" diff --git a/core/cmd/server/docs/x-log.json b/core/cmd/server/docs/x-log.json index 835d19c01acc..496f46cf867b 100644 --- a/core/cmd/server/docs/x-log.json +++ b/core/cmd/server/docs/x-log.json @@ -805,6 +805,223 @@ "formatZH": "更新快捷命令 [name]", "formatEN": "update quick command [name]" }, + "/core/enterprise/ai-benchmark/tasks": { + "bodyKeys": [ + "model" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 基准测试 [model]", + "formatEN": "create AI benchmark [model]" + }, + "/core/enterprise/ai-benchmark/tasks/:id/cancel": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "取消 AI 基准测试", + "formatEN": "cancel AI benchmark" + }, + "/core/enterprise/ai-benchmark/tasks/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 基准测试 [id]", + "formatEN": "delete AI benchmark [id]" + }, + "/core/enterprise/ai-proxy/api-keys/create": { + "bodyKeys": [ + "userId", + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关 API Key 用户 [userId] 分组 [groupId]", + "formatEN": "create AI proxy API key user [userId] group [groupId]" + }, + "/core/enterprise/ai-proxy/api-keys/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关 API Key [id]", + "formatEN": "delete AI proxy API key [id]" + }, + "/core/enterprise/ai-proxy/api-keys/reveal": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "查看 AI 网关 API Key [id]", + "formatEN": "reveal AI proxy API key [id]" + }, + "/core/enterprise/ai-proxy/api-keys/update": { + "bodyKeys": [ + "id", + "userId", + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关 API Key [id] 用户 [userId] 分组 [groupId]", + "formatEN": "update AI proxy API key [id] user [userId] group [groupId]" + }, + "/core/enterprise/ai-proxy/backends/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关后端 [id]", + "formatEN": "delete AI proxy backend [id]" + }, + "/core/enterprise/ai-proxy/backends/import": { + "bodyKeys": [ + "accountId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "导入 AI 网关后端账号 [accountId]", + "formatEN": "import AI proxy backend account [accountId]" + }, + "/core/enterprise/ai-proxy/backends/status": { + "bodyKeys": [ + "id", + "enabled" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关后端 [id] 状态 [enabled]", + "formatEN": "update AI proxy backend [id] status [enabled]" + }, + "/core/enterprise/ai-proxy/backends/update": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关后端 [id]", + "formatEN": "update AI proxy backend [id]" + }, + "/core/enterprise/ai-proxy/content/groups/create": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关敏感词分组 [name]", + "formatEN": "create AI proxy sensitive group [name]" + }, + "/core/enterprise/ai-proxy/content/groups/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关敏感词分组 [id]", + "formatEN": "delete AI proxy sensitive group [id]" + }, + "/core/enterprise/ai-proxy/content/groups/update": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关敏感词分组 [name]", + "formatEN": "update AI proxy sensitive group [name]" + }, + "/core/enterprise/ai-proxy/content/settings/update": { + "bodyKeys": [ + "enabled" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关内容审查设置 [enabled]", + "formatEN": "update AI proxy content audit settings [enabled]" + }, + "/core/enterprise/ai-proxy/content/words/create": { + "bodyKeys": [ + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关敏感词,分组 [groupId]", + "formatEN": "create AI proxy sensitive word, group [groupId]" + }, + "/core/enterprise/ai-proxy/content/words/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关敏感词 [id]", + "formatEN": "delete AI proxy sensitive word [id]" + }, + "/core/enterprise/ai-proxy/content/words/import": { + "bodyKeys": [ + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "导入 AI 网关敏感词,分组 [groupId]", + "formatEN": "import AI proxy sensitive words, group [groupId]" + }, + "/core/enterprise/ai-proxy/content/words/update": { + "bodyKeys": [ + "id", + "groupId" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关敏感词 [id] 分组 [groupId]", + "formatEN": "update AI proxy sensitive word [id] group [groupId]" + }, + "/core/enterprise/ai-proxy/groups/create": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "创建 AI 网关分组 [name]", + "formatEN": "create AI proxy group [name]" + }, + "/core/enterprise/ai-proxy/groups/delete": { + "bodyKeys": [ + "id" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "删除 AI 网关分组 [id]", + "formatEN": "delete AI proxy group [id]" + }, + "/core/enterprise/ai-proxy/groups/update": { + "bodyKeys": [ + "name" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关分组 [name]", + "formatEN": "update AI proxy group [name]" + }, + "/core/enterprise/ai-proxy/service/operate": { + "bodyKeys": [ + "operate" + ], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "操作 AI 网关服务 [operate]", + "formatEN": "operate AI proxy service [operate]" + }, + "/core/enterprise/ai-proxy/settings/update": { + "bodyKeys": [], + "paramKeys": [], + "beforeFunctions": [], + "formatZH": "更新 AI 网关设置", + "formatEN": "update AI proxy settings" + }, "/core/enterprise/user": { "bodyKeys": [ "name" diff --git a/core/i18n/lang/en.yaml b/core/i18n/lang/en.yaml index b4bc49ba5b4c..b196430134e8 100644 --- a/core/i18n/lang/en.yaml +++ b/core/i18n/lang/en.yaml @@ -39,6 +39,9 @@ ErrCmdTimeout: "Command execution timeout!" ErrEntrance: "Security entrance information error, check and try again!" ErrGroupIsDefault: "Default group, unable to delete" ErrGroupIsInUse: "The group is in use and cannot be deleted." +ErrAIProxyUserGroupExists: "The user group name already exists." +ErrAIProxySensitiveGroupInUse: "The sensitive word group is in use and cannot be deleted." +ErrAIProxySensitiveGroupExists: "The sensitive word group name already exists." ErrLocalDelete: "Cannot delete the local node!" ErrPortInUsed: "The {{ .name }} port is already in use!" ErrInternalServerKey: "Internal server error:" diff --git a/core/i18n/lang/es-ES.yaml b/core/i18n/lang/es-ES.yaml index 95449efa1e8c..c4392e262588 100644 --- a/core/i18n/lang/es-ES.yaml +++ b/core/i18n/lang/es-ES.yaml @@ -38,6 +38,9 @@ ErrCmdTimeout: 'Comando agotó tiempo' ErrEntrance: "Error en la información de entrada de seguridad, por favor revise e intente de nuevo" ErrGroupIsDefault: "Grupo predeterminado, no se puede eliminar" ErrGroupIsInUse: "El grupo está en uso y no se puede eliminar." +ErrAIProxyUserGroupExists: "El nombre del grupo de usuarios ya existe." +ErrAIProxySensitiveGroupInUse: "El grupo de palabras sensibles está en uso y no se puede eliminar." +ErrAIProxySensitiveGroupExists: "El nombre del grupo de palabras sensibles ya existe." ErrLocalDelete: "No se puede eliminar el nodo local" ErrPortInUsed: "El puerto {{ .name }} ya está en uso" ErrInternalServerKey: "Error interno del servidor:" diff --git a/core/i18n/lang/ja.yaml b/core/i18n/lang/ja.yaml index cff4cd25eee6..cf03ec8ef9dd 100644 --- a/core/i18n/lang/ja.yaml +++ b/core/i18n/lang/ja.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: 'コマンドがタイムアウトしました' ErrEntrance: "セキュリティ情報エラー、再確認してください!" ErrGroupIsDefault: "デフォルトグループの削除はできません" ErrGroupIsInUse: "グループは使用中のため、削除できません。" +ErrAIProxyUserGroupExists: "ユーザーグループ名は既に存在します。" +ErrAIProxySensitiveGroupInUse: "センシティブワードグループは使用中のため削除できません。" +ErrAIProxySensitiveGroupExists: "センシティブワードグループ名は既に存在します。" ErrLocalDelete: "ローカルノードは削除できません!" ErrPortInUsed: "{{ .name }} ポートはすでに使用されています!" ErrInternalServerKey: "サーバー内部エラー: " diff --git a/core/i18n/lang/ko.yaml b/core/i18n/lang/ko.yaml index 85d8c195d127..520c9ff8633a 100644 --- a/core/i18n/lang/ko.yaml +++ b/core/i18n/lang/ko.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: '명령이 시간 초과했습니다' ErrEntrance: "보안 정보 오류입니다. 확인 후 다시 시도하십시오" ErrGroupIsDefault: "기본 그룹은 삭제할 수 없습니다" ErrGroupIsInUse: "그룹이 사용 중이므로 삭제할 수 없습니다." +ErrAIProxyUserGroupExists: "사용자 그룹 이름이 이미 존재합니다." +ErrAIProxySensitiveGroupInUse: "민감 단어 그룹이 사용 중이므로 삭제할 수 없습니다." +ErrAIProxySensitiveGroupExists: "민감 단어 그룹 이름이 이미 존재합니다." ErrLocalDelete: "로컬 노드는 삭제할 수 없습니다" ErrPortInUsed: "{{ .name }} 포트가 이미 사용 중입니다" ErrInternalServerKey: "서버 내부 오류:" diff --git a/core/i18n/lang/ms.yaml b/core/i18n/lang/ms.yaml index 570c6ff149fa..9e3fc05a2892 100644 --- a/core/i18n/lang/ms.yaml +++ b/core/i18n/lang/ms.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: 'Arahan tamat masa' ErrEntrance: "Maklumat pintu masuk keselamatan salah, sila periksa dan cuba lagi" ErrGroupIsDefault: "Kumpulan lalai tidak boleh dihapuskan" ErrGroupIsInUse: "Kumpulan sedang digunakan dan tidak boleh dipadam." +ErrAIProxyUserGroupExists: "Nama kumpulan pengguna sudah wujud." +ErrAIProxySensitiveGroupInUse: "Kumpulan kata sensitif sedang digunakan dan tidak boleh dipadam." +ErrAIProxySensitiveGroupExists: "Nama kumpulan kata sensitif sudah wujud." ErrLocalDelete: "Nod tempatan tidak boleh dihapuskan" ErrPortInUsed: "Port {{ .name }} telah digunakan" ErrInternalServerKey: "Ralat dalaman pelayan:" diff --git a/core/i18n/lang/pt-BR.yaml b/core/i18n/lang/pt-BR.yaml index ba2d93f945e0..e772bf5bc0e2 100644 --- a/core/i18n/lang/pt-BR.yaml +++ b/core/i18n/lang/pt-BR.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: 'Comando expirou' ErrEntrance: "Erro nas informações de entrada de segurança, por favor, verifique e tente novamente" ErrGroupIsDefault: "Grupo padrão não pode ser excluído" ErrGroupIsInUse: "O grupo está em uso e não pode ser excluído." +ErrAIProxyUserGroupExists: "O nome do grupo de usuários já existe." +ErrAIProxySensitiveGroupInUse: "O grupo de palavras sensíveis está em uso e não pode ser excluído." +ErrAIProxySensitiveGroupExists: "O nome do grupo de palavras sensíveis já existe." ErrLocalDelete: "O nó local não pode ser excluído" ErrPortInUsed: "A porta {{ .name }} já está em uso" ErrInternalServerKey: "Erro interno do servidor:" diff --git a/core/i18n/lang/ru.yaml b/core/i18n/lang/ru.yaml index f86c00ed9440..1e49745cd830 100644 --- a/core/i18n/lang/ru.yaml +++ b/core/i18n/lang/ru.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: 'Команда завершилась по тайм-ауту' ErrEntrance: "Ошибка информации о безопасном входе, проверьте и повторите попытку" ErrGroupIsDefault: "Группу по умолчанию нельзя удалить" ErrGroupIsInUse: "Группа используется и не может быть удалена." +ErrAIProxyUserGroupExists: "Имя группы пользователей уже существует." +ErrAIProxySensitiveGroupInUse: "Группа чувствительных слов используется и не может быть удалена." +ErrAIProxySensitiveGroupExists: "Имя группы чувствительных слов уже существует." ErrLocalDelete: "Локальный узел нельзя удалить" ErrPortInUsed: "Порт {{ .name }} уже используется" ErrInternalServerKey: "Внутренняя ошибка сервера:" diff --git a/core/i18n/lang/tr.yaml b/core/i18n/lang/tr.yaml index 950e73b57233..9d64ff9c7412 100644 --- a/core/i18n/lang/tr.yaml +++ b/core/i18n/lang/tr.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: 'Komut zaman aşımına uğradı' ErrEntrance: "Güvenlik girişi bilgi hatası, lütfen kontrol edip tekrar deneyin" ErrGroupIsDefault: "Varsayılan grup, silinemez" ErrGroupIsInUse: "Grup kullanımda ve silinemez." +ErrAIProxyUserGroupExists: "Kullanıcı grubu adı zaten mevcut." +ErrAIProxySensitiveGroupInUse: "Hassas kelime grubu kullanımda ve silinemez." +ErrAIProxySensitiveGroupExists: "Hassas kelime grubu adı zaten mevcut." ErrLocalDelete: "Yerel düğüm silinemez" ErrPortInUsed: "{{ .name }} portu zaten kullanımda" ErrInternalServerKey: "İç sunucu hatası:" diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index 0f34f2cf963e..0adca8c67223 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -33,6 +33,9 @@ ErrCmdTimeout: "指令執行逾時!" ErrEntrance: "安全入口資訊錯誤,請檢查後再試。" ErrGroupIsDefault: "預設分組無法刪除" ErrGroupIsInUse: "分組正被使用,無法刪除。" +ErrAIProxyUserGroupExists: "使用者組名稱已存在" +ErrAIProxySensitiveGroupInUse: "敏感詞分組正在使用,無法刪除。" +ErrAIProxySensitiveGroupExists: "敏感詞分組名稱已存在" ErrLocalDelete: "無法刪除本機節點!" ErrPortInUsed: "{{ .name }} 埠已被佔用!" ErrInternalServerKey: "服務內部錯誤: " diff --git a/core/i18n/lang/zh.yaml b/core/i18n/lang/zh.yaml index 576fe4e26b7e..93e51e51cb39 100644 --- a/core/i18n/lang/zh.yaml +++ b/core/i18n/lang/zh.yaml @@ -39,6 +39,9 @@ ErrCmdTimeout: "命令执行超时!" ErrEntrance: "安全入口信息错误,请检查后重试!" ErrGroupIsDefault: "默认分组,无法删除" ErrGroupIsInUse: "分组正被使用,无法删除" +ErrAIProxyUserGroupExists: "用户组名称已存在" +ErrAIProxySensitiveGroupInUse: "敏感词分组正在使用,无法删除" +ErrAIProxySensitiveGroupExists: "敏感词分组名称已存在" ErrLocalDelete: "无法删除本地节点!" ErrPortInUsed: "{{ .name }} 端口已被占用!" ErrInternalServerKey: "服务内部错误:" diff --git a/core/middleware/operation.go b/core/middleware/operation.go index bf3fab64bf85..16edab4689a0 100644 --- a/core/middleware/operation.go +++ b/core/middleware/operation.go @@ -60,6 +60,11 @@ func OperationLog() gin.HandlerFunc { return } operationDic, hasPath := swagger[record.Path] + if !hasPath { + if fullPath := normalizeOperationPath(c.FullPath()); fullPath != "" { + operationDic, hasPath = swagger[fullPath] + } + } if !hasPath { c.Next() return @@ -287,6 +292,12 @@ func loadLogInfo(path string) string { return pathArrays[1] } +func normalizeOperationPath(reqPath string) string { + pathItem := strings.TrimPrefix(reqPath, "/api/v2") + pathItem = strings.TrimPrefix(pathItem, "/api/v2/core") + return pathItem +} + func newDB(pathItem string) (*gorm.DB, error) { dbFile := "" switch {