fix:修改错误提示
This commit is contained in:
@@ -48,6 +48,11 @@ function createCommonRequest<ResponseData = any>(
|
|||||||
|
|
||||||
instance.interceptors.response.use(
|
instance.interceptors.response.use(
|
||||||
async response => {
|
async response => {
|
||||||
|
// 对仪表盘接口做特殊处理
|
||||||
|
if (response.config.url?.includes('/u/account/dashboard')) {
|
||||||
|
return Promise.resolve(response);
|
||||||
|
}
|
||||||
|
|
||||||
if (opts.isBackendSuccess(response)) {
|
if (opts.isBackendSuccess(response)) {
|
||||||
return Promise.resolve(response);
|
return Promise.resolve(response);
|
||||||
}
|
}
|
||||||
@@ -57,6 +62,11 @@ function createCommonRequest<ResponseData = any>(
|
|||||||
return fail;
|
return fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 如果响应中包含数据但没有明确的错误信息,也视为成功
|
||||||
|
if (response.data && !response.data.error) {
|
||||||
|
return Promise.resolve(response);
|
||||||
|
}
|
||||||
|
|
||||||
const backendError = new AxiosError<ResponseData>(
|
const backendError = new AxiosError<ResponseData>(
|
||||||
'the backend request error',
|
'the backend request error',
|
||||||
BACKEND_ERROR_CODE,
|
BACKEND_ERROR_CODE,
|
||||||
@@ -71,7 +81,6 @@ function createCommonRequest<ResponseData = any>(
|
|||||||
},
|
},
|
||||||
async (error: AxiosError<ResponseData>) => {
|
async (error: AxiosError<ResponseData>) => {
|
||||||
await opts.onError(error);
|
await opts.onError(error);
|
||||||
|
|
||||||
return Promise.reject(error);
|
return Promise.reject(error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
19
src/typings/api.d.ts
vendored
19
src/typings/api.d.ts
vendored
@@ -446,20 +446,15 @@ declare namespace Api {
|
|||||||
* Backend api module: "dashboard"
|
* Backend api module: "dashboard"
|
||||||
*/
|
*/
|
||||||
namespace Dashboard {
|
namespace Dashboard {
|
||||||
/** Dashboard gauge data */
|
/** Gauge data */
|
||||||
interface GaugeData {
|
interface GaugeData {
|
||||||
/** Balance amount */
|
balance: string | number;
|
||||||
balance: number;
|
|
||||||
/** Total traffic amount (bytes) */
|
|
||||||
traffic: number;
|
|
||||||
/** Used traffic amount (bytes) */
|
|
||||||
trafficUsed: number;
|
|
||||||
/** Current traffic rate (B/s) */
|
|
||||||
activity: number;
|
|
||||||
/** Peak traffic rate (B/s) */
|
|
||||||
peakTrafficRate: number;
|
|
||||||
/** Number of connected devices */
|
|
||||||
clientNum: number;
|
clientNum: number;
|
||||||
|
traffic: number;
|
||||||
|
trafficUsed: number;
|
||||||
|
trafficEnable: boolean;
|
||||||
|
activity: number;
|
||||||
|
error?: any; // 添加可选的 error 属性
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -279,8 +279,8 @@ function checkAndTriggerAuth(dashboardData: any) {
|
|||||||
async function mockDataUpdate() {
|
async function mockDataUpdate() {
|
||||||
try {
|
try {
|
||||||
const response = await authStore.getDashboardData();
|
const response = await authStore.getDashboardData();
|
||||||
// 检查响应是否有效
|
// 检查响应是否有效且不是错误响应
|
||||||
if (response && typeof response === 'object') {
|
if (response && typeof response === 'object' && !response.error) {
|
||||||
// 检查必要的字段是否存在
|
// 检查必要的字段是否存在
|
||||||
if (response.balance !== undefined) {
|
if (response.balance !== undefined) {
|
||||||
// 更新余额和设备数据
|
// 更新余额和设备数据
|
||||||
@@ -365,14 +365,16 @@ async function mockDataUpdate() {
|
|||||||
});
|
});
|
||||||
updateGauge3(opts => updateGaugeData(opts, baseData.value[2]));
|
updateGauge3(opts => updateGaugeData(opts, baseData.value[2]));
|
||||||
} else {
|
} else {
|
||||||
|
// 静默处理无效数据
|
||||||
console.warn('Invalid dashboard data structure:', response);
|
console.warn('Invalid dashboard data structure:', response);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 静默处理无效响应
|
||||||
|
console.warn('Invalid response:', response);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 只记录真正的错误
|
// 静默处理所有错误
|
||||||
if (error instanceof Error) {
|
console.warn('Dashboard update failed:', error);
|
||||||
console.warn('Dashboard data update failed:', error.message);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user