From fe0e192a43e3bb5dbe3e4898d30b905da14fa47d Mon Sep 17 00:00:00 2001 From: LittleSheep Date: Sun, 7 Sep 2025 23:56:58 +0800 Subject: [PATCH] :lipstick: Optimize error alert --- lib/widgets/content/alert.native.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/widgets/content/alert.native.dart b/lib/widgets/content/alert.native.dart index 8bf0008e..d85c33a3 100644 --- a/lib/widgets/content/alert.native.dart +++ b/lib/widgets/content/alert.native.dart @@ -6,17 +6,21 @@ import 'package:flutter_platform_alert/flutter_platform_alert.dart'; String _parseRemoteError(DioException err) { log('${err.requestOptions.method} ${err.requestOptions.uri} ${err.message}'); - if (err.response?.data is String) return err.response?.data; - if (err.response?.data?['errors'] != null) { + String? message; + if (err.response?.data is String) { + message = err.response?.data; + } else if (err.response?.data?['errors'] != null) { final errors = err.response?.data['errors'] as Map; - return errors.values + message = errors.values .map( (ele) => (ele as List).map((ele) => ele.toString()).join('\n'), ) .join('\n'); } - return err.message ?? err.toString(); + if (message == null || message.isEmpty) message = err.response?.statusMessage; + message ??= err.message; + return message ?? err.toString(); } void showErrorAlert(dynamic err) async {