feat: 重构数据中枢工作台与接入管理
- 新增统一的数据源、目录、纳管表与 Excel 处理后端能力 - 重建管理端数据中枢工作台并替换旧表管理页面 - 补充数据中枢迁移脚本、连接器底座与说明字段支持
This commit is contained in:
@@ -23,6 +23,31 @@ import { useAuthStore } from '#/store';
|
||||
import { refreshTokenApi } from './core';
|
||||
|
||||
const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD);
|
||||
const ERROR_MESSAGE_DEDUP_WINDOW = 800;
|
||||
const SILENT_ERROR_MESSAGES = new Set([
|
||||
'当前连接不可用,请检查连接配置后重试',
|
||||
'连接不存在',
|
||||
]);
|
||||
let lastErrorMessage = '';
|
||||
let lastErrorTimestamp = 0;
|
||||
|
||||
function showErrorOnce(message?: string) {
|
||||
const nextMessage = String(message || '').trim();
|
||||
if (!nextMessage) return;
|
||||
if (SILENT_ERROR_MESSAGES.has(nextMessage)) {
|
||||
return;
|
||||
}
|
||||
const now = Date.now();
|
||||
if (
|
||||
nextMessage === lastErrorMessage &&
|
||||
now - lastErrorTimestamp < ERROR_MESSAGE_DEDUP_WINDOW
|
||||
) {
|
||||
return;
|
||||
}
|
||||
lastErrorMessage = nextMessage;
|
||||
lastErrorTimestamp = now;
|
||||
ElMessage.error(nextMessage);
|
||||
}
|
||||
|
||||
function createRequestClient(baseURL: string, options?: RequestClientOptions) {
|
||||
const client = new RequestClient({
|
||||
@@ -80,7 +105,7 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) {
|
||||
codeField: 'errorCode',
|
||||
dataField: 'data',
|
||||
showErrorMessage: (message) => {
|
||||
ElMessage.error(message);
|
||||
showErrorOnce(message);
|
||||
},
|
||||
successCode: 0,
|
||||
}),
|
||||
@@ -105,7 +130,7 @@ function createRequestClient(baseURL: string, options?: RequestClientOptions) {
|
||||
const responseData = error?.response?.data ?? {};
|
||||
const errorMessage = responseData?.error ?? responseData?.message ?? '';
|
||||
// 如果没有错误信息,则会根据状态码进行提示
|
||||
ElMessage.error(errorMessage || msg);
|
||||
showErrorOnce(errorMessage || msg);
|
||||
}),
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user