feat(dbms): 支持MySQL数据库连接管理功能

- 添加MySQL数据库类型的连接支持,默认端口为3306,用户名为root
- 实现Oracle与MySQL连接类型的差异化表单验证逻辑
- 更新连接树组件以区分不同数据库类型的显示方式
- 集成备份恢复任务面板,支持双标签页切换功能
- 优化表格排序功能,增强连接列表的可操作性
- 调整任务面板布局,改进用户体验和界面交互
- 新增连接对话框中数据库类型的选择与初始化逻辑
This commit is contained in:
2026-06-09 13:16:11 +08:00
parent d055a8e1a0
commit 3dff953b8d
42 changed files with 2226 additions and 412 deletions

View File

@@ -18,6 +18,7 @@ import { EventSourcePolyfill } from 'event-source-polyfill'
export interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig {
loading?: boolean
silentStatusError?: boolean
}
const config = {
@@ -109,6 +110,10 @@ class RequestHttp {
}
// 全局错误信息拦截(防止下载文件的时候返回数据流,没有 code 直接报错)
if (data.code && data.code !== ResultEnum.SUCCESS) {
if ((response.config as CustomAxiosRequestConfig).silentStatusError) {
return Promise.reject(data)
}
if (data.message.includes('&')) {
let formattedMessage = data.message.split('&').join('<br>')
if (data.message.includes(':')) {
@@ -147,7 +152,9 @@ class RequestHttp {
if (error.message.indexOf('timeout') !== -1) ElMessage.error('请求超时!请您稍后重试')
if (error.message.indexOf('Network Error') !== -1) ElMessage.error('网络错误!请您稍后重试')
// 根据服务器响应的错误状态码,做不同的处理
if (response) checkStatus(response.status)
if (response && !(error.config as CustomAxiosRequestConfig | undefined)?.silentStatusError) {
checkStatus(response.status)
}
// 服务器结果都没有返回(可能服务器错误可能客户端断网),断网处理:可以跳转到断网页面
if (!window.navigator.onLine) router.replace('/500')
return Promise.reject(error)