diff --git a/lib/utils/http_utils.dart b/lib/utils/http_utils.dart index 0787503..6420a2b 100644 --- a/lib/utils/http_utils.dart +++ b/lib/utils/http_utils.dart @@ -108,7 +108,7 @@ class HttpUtil { // 没有转换器时尝试直接返回(可能不安全,建议提供转换器) return response.data; } catch (e) { - rethrow; + throw Exception(_handleError(e)); } } @@ -171,7 +171,7 @@ class HttpUtil { ); // 错误处理 - void _handleError(dynamic error) { + String _handleError(dynamic error) { String errorMessage = '未知错误'; if (error is DioException) { switch (error.type) { @@ -218,7 +218,7 @@ class HttpUtil { } logger.e(errorMessage); - // showErrorToast(errorMessage); + return errorMessage; } String _getHttpErrorMessage(int statusCode) { diff --git a/lib/utils/log_utils.dart b/lib/utils/log_utils.dart index dd745a5..4ec27aa 100644 --- a/lib/utils/log_utils.dart +++ b/lib/utils/log_utils.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:io'; +import 'package:flutter/foundation.dart'; import 'package:logger/logger.dart'; import 'package:path_provider/path_provider.dart'; @@ -9,22 +10,25 @@ late Logger logger; // 初始化日志 Future initLogger() async { - final directory = await getExternalStorageDirectory(); - final logFile = File('${directory?.path}/logs/app.log'); + if (kIsWeb) { + logger = Logger( + printer: SimplePrinter(printTime: true), + output: ConsoleOutput(), + ); + } else { + final directory = await getExternalStorageDirectory(); + final logFile = File('${directory?.path}/logs/app.log'); - // 确保文件存在(会自动创建) - await logFile.create(recursive: true); + // 确保文件存在(会自动创建) + await logFile.create(recursive: true); - logger = Logger( - filter: ProductionFilter(), - printer: SimplePrinter(printTime: true), - output: MultiOutput([ - ConsoleOutput(), - FileOutput( - file: logFile, - overrideExisting: true, - encoding: utf8 - ), - ]), - ); + logger = Logger( + filter: ProductionFilter(), + printer: SimplePrinter(printTime: true), + output: MultiOutput([ + ConsoleOutput(), + FileOutput(file: logFile, overrideExisting: true, encoding: utf8), + ]), + ); + } }