refactor: 数据源菜单合一+布局优化

- 4个数据源菜单(MySQL/PG/Redis/Mongo)合并为1个「数据源」
- InstancePage 改为统一入口,顶部Tab切换类型过滤
- 添加数据源改为弹框Modal(默认MySQL)
- 去掉左下角用户区,退出登录移到右上角header
- 侧边栏收窄220px,整体布局更紧凑
- 后端202 tests passing
- 前端构建零错误
This commit is contained in:
logan committed 2026-05-22 22:53:48 +08:00
1 parent bab55d3927
commit 5cbd0e3441
23 files changed
+2881 -94

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
import request from './request';
export var redisApi = {
getInfo: function (id: number) {
return request.get('/redis/' + id + '/info');
},
getDbsize: function (id: number, db: number) {
return request.get('/redis/' + id + '/dbsize', { params: { db: db } });
},
getKeys: function (id: number, params: Record<string, any>) {
return request.get('/redis/' + id + '/keys', { params: params });
},
getKeyDetail: function (id: number, key: string, db: number) {
return request.get('/redis/' + id + '/keys/' + encodeURIComponent(key), { params: { db: db } });
},
createKey: function (id: number, data: Record<string, any>) {
return request.post('/redis/' + id + '/keys', data);
},
deleteKey: function (id: number, key: string, db: number) {
return request.delete('/redis/' + id + '/keys/' + encodeURIComponent(key), { params: { db: db } });
},
setExpire: function (id: number, key: string, data: Record<string, any>) {
return request.put('/redis/' + id + '/keys/' + encodeURIComponent(key) + '/expire', data);
},
flushDb: function (id: number, db: number) {
return request.delete('/redis/' + id + '/flushdb', { params: { db: db } });
},
executeCommand: function (id: number, data: Record<string, any>) {
return request.post('/redis/' + id + '/command', data);
},
getSlowlog: function (id: number, count: number) {
return request.get('/redis/' + id + '/slowlog', { params: { count: count } });
},
getClients: function (id: number) {
return request.get('/redis/' + id + '/clients');
},
};