feat(http-client): 添加静默模式控制错误日志输出

添加 silentMode 属性及相关方法,用于控制 HTTP 请求错误日志的输出
This commit is contained in:
YAYOI27
2025-08-24 23:00:03 +08:00
parent 3ea97e7a94
commit 61bfe29ad3

View File

@@ -94,6 +94,7 @@ export interface HealthResponse {
export class HttpClient {
private client: AxiosInstance;
private config: Config;
private silentMode: boolean = false;
constructor(config: Config) {
this.config = config;
@@ -132,15 +133,17 @@ export class HttpClient {
return response;
},
(error) => {
if (error.response) {
console.error(`[HTTP] 响应错误: ${error.response.status} ${error.response.statusText}`);
if (this.config.logLevel === 'debug') {
console.error('[HTTP] 错误详情:', error.response.data);
if (!this.silentMode) {
if (error.response) {
console.error(`[HTTP] 响应错误: ${error.response.status} ${error.response.statusText}`);
if (this.config.logLevel === 'debug') {
console.error('[HTTP] 错误详情:', error.response.data);
}
} else if (error.request) {
console.error('[HTTP] 网络错误: 无法连接到服务器');
} else {
console.error('[HTTP] 请求配置错误:', error.message);
}
} else if (error.request) {
console.error('[HTTP] 网络错误: 无法连接到服务器');
} else {
console.error('[HTTP] 请求配置错误:', error.message);
}
return Promise.reject(error);
}
@@ -258,6 +261,20 @@ export class HttpClient {
this.client.defaults.baseURL = this.config.serverUrl;
this.client.defaults.timeout = this.config.requestTimeout;
}
/**
* 设置静默模式
*/
setSilentMode(silent: boolean): void {
this.silentMode = silent;
}
/**
* 获取静默模式状态
*/
isSilentMode(): boolean {
return this.silentMode;
}
}
/**