feat: 系统密钥管理模块(数据库加密存储)

后端:
- 新增 system_secrets 表(AES-256-GCM 加密存储)
- 新增 crypto.util.ts 加解密工具
- 新增 SecretService 共享服务(CRUD + 加解密)
- 新增 AdminSecretController 管理端 API(仅超管)
- API 返回值脱敏(*** + 最后4位)

前端(平台后台):
- 新增系统密钥管理页面(按分组展示、CRUD 操作)
- 侧边栏新增「系统密钥」菜单

管理员可在后台网页管理所有密钥,不再需要 SSH 到服务器改配置

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-02 12:03:37 +08:00
parent b358dbdab1
commit 3b75e26599
14 changed files with 723 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
import request from '@/utils/request';
// 获取密钥列表
export function getSecrets(params?: any) {
return request.get('/api/admin/secrets', { params });
}
// 获取密钥详情
export function getSecret(id: number) {
return request.get(`/api/admin/secrets/${id}`);
}
// 新增密钥
export function createSecret(data: any) {
return request.post('/api/admin/secrets', data);
}
// 更新密钥
export function updateSecret(id: number, data: any) {
return request.put(`/api/admin/secrets/${id}`, data);
}
// 删除密钥
export function deleteSecret(id: number) {
return request.delete(`/api/admin/secrets/${id}`);
}
// 获取分组列表
export function getSecretGroups() {
return request.get('/api/admin/secrets/group/list');
}