Files
CN_Tool_client/frontend/src/api/system/dbms/index.ts
yexb 3dff953b8d feat(dbms): 支持MySQL数据库连接管理功能
- 添加MySQL数据库类型的连接支持,默认端口为3306,用户名为root
- 实现Oracle与MySQL连接类型的差异化表单验证逻辑
- 更新连接树组件以区分不同数据库类型的显示方式
- 集成备份恢复任务面板,支持双标签页切换功能
- 优化表格排序功能,增强连接列表的可操作性
- 调整任务面板布局,改进用户体验和界面交互
- 新增连接对话框中数据库类型的选择与初始化逻辑
2026-06-09 13:16:11 +08:00

76 lines
3.2 KiB
TypeScript

import http from '@/api'
import type { CustomAxiosRequestConfig } from '@/api'
import type { Dbms } from '@/api/system/dbms/interface'
export const getDbmsOverview = () => {
return http.get<Dbms.Overview>('/database/overview', {}, { loading: false })
}
export const getDbmsConnectionList = (params: Dbms.ConnectionListParams, config: Partial<CustomAxiosRequestConfig> = {}) => {
return http.post<Dbms.ConnectionPageData>('/database/connections/list', params, { loading: false, ...config })
}
export const addDbmsConnection = (params: Dbms.ConnectionPayload) => {
return http.post<boolean>('/database/connections/add', params)
}
export const updateDbmsConnection = (params: Dbms.ConnectionPayload) => {
return http.post<boolean>('/database/connections/update', params)
}
export const deleteDbmsConnection = (params: Dbms.DeleteConnectionParams) => {
return http.post<boolean>('/database/connections/delete', params)
}
export const testDbmsConnection = (params: Dbms.TestConnectionParams) => {
return http.post<Dbms.TestConnectionResult>('/database/connections/test', params)
}
export const getDbmsTableList = (params: Dbms.TableListParams, config: Partial<CustomAxiosRequestConfig> = {}) => {
return http.post<Dbms.TableRecord[]>('/database/connections/tables', params, config)
}
export const createDbmsBackupTask = (params: Dbms.CreateBackupParams) => {
return http.post<Dbms.TaskCreateResult>('/database/backups/create', params)
}
export const getDbmsBackupTaskList = (params: Dbms.TaskListParams, config: Partial<CustomAxiosRequestConfig> = {}) => {
return http.post<Dbms.TaskPageData>('/database/backups/tasks/list', params, { loading: false, ...config })
}
export const getDbmsBackupTaskStatus = (taskId: string) => {
return http.get<Dbms.TaskRecord>('/database/backups/tasks/status', { taskId }, { loading: false })
}
export const stopDbmsBackupTask = (params: Dbms.StopBackupTaskParams) => {
return http.post<boolean>('/database/backups/tasks/stop', params)
}
export const restartDbmsBackupTask = (params: Dbms.RestartBackupTaskParams) => {
return http.post<Dbms.TaskCreateResult>('/database/backups/tasks/restart', params)
}
export const getDbmsBackupFileList = (params: Dbms.FileListParams, config: Partial<CustomAxiosRequestConfig> = {}) => {
return http.post<Dbms.BackupFilePageData>('/database/backups/files/list', params, { loading: false, ...config })
}
export const createDbmsRestoreTask = (params: Dbms.CreateRestoreParams) => {
return http.post<Dbms.TaskCreateResult>('/database/restores/create', params)
}
export const getDbmsRestoreTaskStatus = (taskId: string) => {
return http.get<Dbms.TaskRecord>('/database/restores/tasks/status', { taskId }, { loading: false })
}
export const getDbmsRestoreTaskList = (params: Dbms.TaskListParams, config: Partial<CustomAxiosRequestConfig> = {}) => {
return http.post<Dbms.TaskPageData>('/database/restores/tasks/list', params, { loading: false, ...config })
}
export const deleteDbmsBackupFile = (params: Dbms.DeleteBackupFileParams) => {
return http.post<boolean>('/database/delete/backup-file', params)
}
export const deleteDbmsTask = (params: Dbms.DeleteTaskParams) => {
return http.post<boolean>('/database/delete/task', params)
}