From 05654e46b018e22d233b6a54a24157a488300b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=85=B1=E5=A4=A9=E5=B0=8F=E7=A6=BD=E5=85=BD?= Date: Wed, 28 Feb 2024 21:26:33 +0800 Subject: [PATCH] http error message --- .../extension/dio_exception_extension.dart | 7 +++++ lib/src/pages/base/base_page_logic.dart | 17 ++++++----- lib/src/pages/base/old_base_page_logic.dart | 17 ++++++----- lib/src/pages/details/comment/eh_comment.dart | 5 ++-- lib/src/pages/details/details_page_logic.dart | 29 ++++++++++--------- .../thumbnails/thumbnails_page_logic.dart | 5 ++-- .../dashboard/dashboard_page_logic.dart | 9 +++--- .../search/mixin/search_page_logic_mixin.dart | 5 ++-- .../account/login/login_page_logic.dart | 9 +++--- .../eh/profile/setting_eh_profile_page.dart | 3 +- lib/src/pages/setting/eh/setting_eh_page.dart | 9 +++--- .../eh/tagsets/tag_sets_page_logic.dart | 13 +++++---- lib/src/service/gallery_download_service.dart | 5 ++-- lib/src/service/super_resolution_service.dart | 3 +- lib/src/service/tag_search_order_service.dart | 5 ++-- lib/src/service/tag_translation_service.dart | 3 +- lib/src/setting/eh_setting.dart | 3 +- lib/src/setting/favorite_setting.dart | 3 +- lib/src/setting/my_tags_setting.dart | 3 +- lib/src/setting/site_setting.dart | 3 +- lib/src/widget/eh_archive_dialog.dart | 5 ++-- lib/src/widget/eh_comment_dialog.dart | 5 ++-- lib/src/widget/eh_download_hh_dialog.dart | 5 ++-- lib/src/widget/eh_gallery_stat_dialog.dart | 5 ++-- .../widget/eh_gallery_torrents_dialog.dart | 5 ++-- lib/src/widget/eh_tag_dialog.dart | 5 ++-- lib/src/widget/eh_tag_set_dialog.dart | 5 ++-- 27 files changed, 112 insertions(+), 79 deletions(-) create mode 100644 lib/src/extension/dio_exception_extension.dart diff --git a/lib/src/extension/dio_exception_extension.dart b/lib/src/extension/dio_exception_extension.dart new file mode 100644 index 000000000..f8386a073 --- /dev/null +++ b/lib/src/extension/dio_exception_extension.dart @@ -0,0 +1,7 @@ +import 'package:dio/dio.dart'; + +extension DioExceptionExtension on DioException { + String? get errorMsg { + return message ?? error?.toString(); + } +} diff --git a/lib/src/pages/base/base_page_logic.dart b/lib/src/pages/base/base_page_logic.dart index d694f6b21..a9ed4d08a 100644 --- a/lib/src/pages/base/base_page_logic.dart +++ b/lib/src/pages/base/base_page_logic.dart @@ -2,6 +2,7 @@ import 'package:collection/collection.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/model/gallery_page.dart'; import 'package:jhentai/src/model/search_config.dart'; @@ -93,8 +94,8 @@ abstract class BasePageLogic extends GetxController with Scroll2TopLogicMixin { try { galleryPage = await getGalleryPage(); } on DioException catch (e) { - Log.error('refreshGalleryFailed'.tr, e.message); - snack('refreshGalleryFailed'.tr, e.message ?? '', longDuration: true); + Log.error('refreshGalleryFailed'.tr, e.errorMsg); + snack('refreshGalleryFailed'.tr, e.errorMsg ?? '', longDuration: true); state.refreshState = LoadingState.error; updateSafely([refreshStateId]); return; @@ -170,8 +171,8 @@ abstract class BasePageLogic extends GetxController with Scroll2TopLogicMixin { try { galleryPage = await getGalleryPage(prevGid: state.prevGid); } on DioException catch (e) { - Log.error('getGallerysFailed'.tr, e.message); - snack('getGallerysFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getGallerysFailed'.tr, e.errorMsg); + snack('getGallerysFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = prevState; updateSafely([loadingStateId]); return; @@ -212,8 +213,8 @@ abstract class BasePageLogic extends GetxController with Scroll2TopLogicMixin { try { galleryPage = await getGalleryPage(nextGid: state.nextGid); } on DioException catch (e) { - Log.error('getGallerysFailed'.tr, e.message); - snack('getGallerysFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getGallerysFailed'.tr, e.errorMsg); + snack('getGallerysFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; updateSafely([loadingStateId]); return; @@ -264,8 +265,8 @@ abstract class BasePageLogic extends GetxController with Scroll2TopLogicMixin { try { galleryPage = await getGalleryPage(nextGid: state.nextGid, prevGid: state.prevGid, seek: dateTime); } on DioException catch (e) { - Log.error('getGallerysFailed'.tr, e.message); - snack('getGallerysFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getGallerysFailed'.tr, e.errorMsg); + snack('getGallerysFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; updateSafely([loadingStateId]); return; diff --git a/lib/src/pages/base/old_base_page_logic.dart b/lib/src/pages/base/old_base_page_logic.dart index f28612682..1e7a56ed6 100644 --- a/lib/src/pages/base/old_base_page_logic.dart +++ b/lib/src/pages/base/old_base_page_logic.dart @@ -3,6 +3,7 @@ import 'dart:math'; import 'package:dio/dio.dart'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/pages/base/base_page_logic.dart'; import '../../mixin/scroll_to_top_state_mixin.dart'; @@ -67,8 +68,8 @@ abstract class OldBasePageLogic extends BasePageLogic { try { gallerysAndPageInfo = await getGallerysAndPageInfoByPage(0); } on DioException catch (e) { - Log.error('refreshGalleryFailed'.tr, e.message); - snack('refreshGalleryFailed'.tr, e.message ?? '', longDuration: true); + Log.error('refreshGalleryFailed'.tr, e.errorMsg); + snack('refreshGalleryFailed'.tr, e.errorMsg ?? '', longDuration: true); state.refreshState = LoadingState.error; updateSafely([refreshStateId]); return; @@ -116,8 +117,8 @@ abstract class OldBasePageLogic extends BasePageLogic { try { gallerysAndPageInfo = await getGallerysAndPageInfoByPage(state.prevPageIndexToLoad!); } on DioException catch (e) { - Log.error('getGallerysFailed'.tr, e.message); - snack('getGallerysFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getGallerysFailed'.tr, e.errorMsg); + snack('getGallerysFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = prevState; updateSafely([loadingStateId]); return; @@ -159,8 +160,8 @@ abstract class OldBasePageLogic extends BasePageLogic { try { gallerysAndPageInfo = await getGallerysAndPageInfoByPage(state.nextPageIndexToLoad!); } on DioException catch (e) { - Log.error('getGallerysFailed'.tr, e.message); - snack('getGallerysFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getGallerysFailed'.tr, e.errorMsg); + snack('getGallerysFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; updateSafely([loadingStateId]); return; @@ -207,8 +208,8 @@ abstract class OldBasePageLogic extends BasePageLogic { try { gallerysAndPageInfo = await getGallerysAndPageInfoByPage(pageIndex); } on DioException catch (e) { - Log.error('refreshGalleryFailed'.tr, e.message); - snack('refreshGalleryFailed'.tr, e.message ?? '', longDuration: true); + Log.error('refreshGalleryFailed'.tr, e.errorMsg); + snack('refreshGalleryFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; updateSafely([loadingStateId]); return; diff --git a/lib/src/pages/details/comment/eh_comment.dart b/lib/src/pages/details/comment/eh_comment.dart index b1f084ac9..adae037f7 100644 --- a/lib/src/pages/details/comment/eh_comment.dart +++ b/lib/src/pages/details/comment/eh_comment.dart @@ -6,6 +6,7 @@ import 'package:flutter/material.dart'; import 'package:html/dom.dart' as dom; import 'package:get/get.dart'; import 'package:jhentai/src/config/ui_config.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import 'package:jhentai/src/mixin/login_required_logic_mixin.dart'; import 'package:jhentai/src/model/gallery_url.dart'; @@ -486,8 +487,8 @@ class _EHCommentFooterState extends State<_EHCommentFooter> with LoginRequiredMi parser: EHSpiderParser.votingCommentResponse2Score, ); } on DioException catch (e) { - Log.error('voteCommentFailed'.tr, e.message); - toast('${'voteCommentFailed'.tr}: ${e.message}'); + Log.error('voteCommentFailed'.tr, e.errorMsg); + toast('${'voteCommentFailed'.tr}: ${e.errorMsg}'); return; } on EHSiteException catch (e) { Log.error('voteCommentFailed'.tr, e.message); diff --git a/lib/src/pages/details/details_page_logic.dart b/lib/src/pages/details/details_page_logic.dart index 85ac33a24..4d3f11666 100644 --- a/lib/src/pages/details/details_page_logic.dart +++ b/lib/src/pages/details/details_page_logic.dart @@ -9,6 +9,7 @@ import 'package:flutter/scheduler.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/consts/eh_consts.dart'; import 'package:jhentai/src/database/database.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/mixin/login_required_logic_mixin.dart'; import 'package:jhentai/src/model/gallery_tag.dart'; @@ -141,8 +142,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To try { detailPageInfo = await _getDetailsWithRedirectAndFallback(useCache: useCacheIfAvailable); } on DioException catch (e) { - Log.error('Get Gallery Detail Failed', e.message); - snack('getGalleryDetailFailed'.tr, e.message ?? '', longDuration: true); + Log.error('Get Gallery Detail Failed', e.errorMsg); + snack('getGalleryDetailFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; if (refreshPageImmediately) { updateSafely([loadingStateId]); @@ -194,8 +195,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To parser: EHSpiderParser.galleryMetadataJson2GalleryMetadata, ); } on DioException catch (e) { - Log.error('Get Gallery Metadata Failed', e.message); - snack('getGalleryDetailFailed'.tr, e.message ?? '', longDuration: true); + Log.error('Get Gallery Metadata Failed', e.errorMsg); + snack('getGalleryDetailFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; if (refreshPageImmediately) { updateSafely([loadingStateId]); @@ -249,8 +250,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To parser: EHSpiderParser.detailPage2Thumbnails, ); } on DioException catch (e) { - Log.error('failToGetThumbnails'.tr, e.message); - snack('failToGetThumbnails'.tr, e.message ?? '', longDuration: true); + Log.error('failToGetThumbnails'.tr, e.errorMsg); + snack('failToGetThumbnails'.tr, e.errorMsg ?? '', longDuration: true); state.loadingThumbnailsState = LoadingState.error; updateSafely([loadingThumbnailsStateId]); return; @@ -391,8 +392,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To FavoriteSetting.save(); } on DioException catch (e) { - Log.error(isRemoveFavorite ? 'removeFavoriteFailed'.tr : 'favoriteGalleryFailed'.tr, e.message); - snack(isRemoveFavorite ? 'removeFavoriteFailed'.tr : 'favoriteGalleryFailed'.tr, e.message ?? '', longDuration: true); + Log.error(isRemoveFavorite ? 'removeFavoriteFailed'.tr : 'favoriteGalleryFailed'.tr, e.errorMsg); + snack(isRemoveFavorite ? 'removeFavoriteFailed'.tr : 'favoriteGalleryFailed'.tr, e.errorMsg ?? '', longDuration: true); state.favoriteState = LoadingState.error; updateSafely([favoriteId]); return; @@ -460,8 +461,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To EHSpiderParser.galleryRatingResponse2RatingInfo, ); } on DioException catch (e) { - Log.error('ratingFailed'.tr, e.message); - snack('ratingFailed'.tr, e.message ?? ''); + Log.error('ratingFailed'.tr, e.errorMsg); + snack('ratingFailed'.tr, e.errorMsg ?? ''); state.ratingState = LoadingState.error; updateSafely([ratingId]); return; @@ -595,8 +596,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To parser: EHSpiderParser.downloadHHPage2Result, ); } on DioException catch (e) { - Log.error('H@H download error', e.message); - snack('failed'.tr, e.message ?? ''); + Log.error('H@H download error', e.errorMsg); + snack('failed'.tr, e.errorMsg ?? ''); return; } on EHSiteException catch (e) { Log.error('H@H download error', e.message); @@ -729,8 +730,8 @@ class DetailsPageLogic extends GetxController with LoginRequiredMixin, Scroll2To parser: EHSpiderParser.voteTagResponse2ErrorMessage, ); } on DioException catch (e) { - Log.error('addTagFailed'.tr, e.message); - snack('addTagFailed'.tr, e.message ?? ''); + Log.error('addTagFailed'.tr, e.errorMsg); + snack('addTagFailed'.tr, e.errorMsg ?? ''); return; } on EHSiteException catch (e) { Log.error('addTagFailed'.tr, e.message); diff --git a/lib/src/pages/details/thumbnails/thumbnails_page_logic.dart b/lib/src/pages/details/thumbnails/thumbnails_page_logic.dart index 00e729de4..5217fce0b 100644 --- a/lib/src/pages/details/thumbnails/thumbnails_page_logic.dart +++ b/lib/src/pages/details/thumbnails/thumbnails_page_logic.dart @@ -1,5 +1,6 @@ import 'package:dio/dio.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/mixin/scroll_to_top_logic_mixin.dart'; import 'package:jhentai/src/pages/details/details_page_logic.dart'; @@ -57,8 +58,8 @@ class ThumbnailsPageLogic extends GetxController with Scroll2TopLogicMixin { parser: EHSpiderParser.detailPage2RangeAndThumbnails, ); } on DioException catch (e) { - Log.error('failToGetThumbnails'.tr, e.message); - snack('failToGetThumbnails'.tr, e.message ?? '', longDuration: true); + Log.error('failToGetThumbnails'.tr, e.errorMsg); + snack('failToGetThumbnails'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; updateSafely([loadingStateId]); return; diff --git a/lib/src/pages/gallerys/dashboard/dashboard_page_logic.dart b/lib/src/pages/gallerys/dashboard/dashboard_page_logic.dart index ea18d9078..78d2f59d3 100644 --- a/lib/src/pages/gallerys/dashboard/dashboard_page_logic.dart +++ b/lib/src/pages/gallerys/dashboard/dashboard_page_logic.dart @@ -1,5 +1,6 @@ import 'package:dio/dio.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/pages/base/base_page_logic.dart'; import 'package:jhentai/src/pages/gallerys/dashboard/dashboard_page_state.dart'; import 'package:jhentai/src/pages/ranklist/ranklist_page_state.dart'; @@ -63,8 +64,8 @@ class DashboardPageLogic extends BasePageLogic { parser: EHSpiderParser.ranklistPage2GalleryPageInfo, ); } on DioException catch (e) { - Log.error('getRanklistFailed'.tr, e.toString()); - snack('getRanklistFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getRanklistFailed'.tr, e.errorMsg); + snack('getRanklistFailed'.tr, e.errorMsg ?? '', longDuration: true); state.ranklistLoadingState = LoadingState.error; update([ranklistId]); return; @@ -105,8 +106,8 @@ class DashboardPageLogic extends BasePageLogic { parser: EHSpiderParser.galleryPage2GalleryPageInfo, ); } on DioException catch (e) { - Log.error('getPopularListFailed'.tr, e.toString()); - snack('getPopularListFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getPopularListFailed'.tr, e.errorMsg); + snack('getPopularListFailed'.tr, e.errorMsg ?? '', longDuration: true); state.popularLoadingState = LoadingState.error; update([popularListId]); return; diff --git a/lib/src/pages/search/mixin/search_page_logic_mixin.dart b/lib/src/pages/search/mixin/search_page_logic_mixin.dart index b90d0c979..5b1511bcf 100644 --- a/lib/src/pages/search/mixin/search_page_logic_mixin.dart +++ b/lib/src/pages/search/mixin/search_page_logic_mixin.dart @@ -6,6 +6,7 @@ import 'package:file_picker/file_picker.dart'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/database/database.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/model/gallery_url.dart'; import 'package:jhentai/src/model/search_history.dart'; @@ -122,8 +123,8 @@ mixin SearchPageLogicMixin on BasePageLogic { parser: EHSpiderParser.imageLookup2RedirectUrl, ); } on DioException catch (e) { - Log.error('fileSearchFailed'.tr, e.message); - snack('fileSearchFailed'.tr, e.message ?? ''); + Log.error('fileSearchFailed'.tr, e.errorMsg); + snack('fileSearchFailed'.tr, e.errorMsg ?? ''); state.loadingState = LoadingState.idle; update([loadingStateId]); return; diff --git a/lib/src/pages/setting/account/login/login_page_logic.dart b/lib/src/pages/setting/account/login/login_page_logic.dart index 9f56564a6..b53c0145f 100644 --- a/lib/src/pages/setting/account/login/login_page_logic.dart +++ b/lib/src/pages/setting/account/login/login_page_logic.dart @@ -4,6 +4,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/consts/eh_consts.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/routes/routes.dart'; @@ -96,8 +97,8 @@ class LoginPageLogic extends GetxController { EHSpiderParser.loginPage2UserInfoOrErrorMsg, ); } on DioException catch (e) { - Log.error('loginFail'.tr, e.message); - snack('loginFail'.tr, e.message ?? ''); + Log.error('loginFail'.tr, e.errorMsg); + snack('loginFail'.tr, e.errorMsg ?? ''); state.loginState = LoadingState.error; update([loadingStateId]); return; @@ -176,8 +177,8 @@ class LoginPageLogic extends GetxController { await EHRequest.requestHomePage(); userInfo = await EHRequest.requestForum(int.parse(state.ipbMemberId!), EHSpiderParser.forumPage2UserInfo); } on DioException catch (e) { - Log.error('loginFail'.tr, e.message); - snack('loginFail'.tr, e.message ?? '', longDuration: true); + Log.error('loginFail'.tr, e.errorMsg); + snack('loginFail'.tr, e.errorMsg ?? '', longDuration: true); EHRequest.removeAllCookies(); diff --git a/lib/src/pages/setting/eh/profile/setting_eh_profile_page.dart b/lib/src/pages/setting/eh/profile/setting_eh_profile_page.dart index c9610cb68..ba7ee3981 100644 --- a/lib/src/pages/setting/eh/profile/setting_eh_profile_page.dart +++ b/lib/src/pages/setting/eh/profile/setting_eh_profile_page.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import 'package:jhentai/src/widget/loading_state_indicator.dart'; import 'package:retry/retry.dart'; @@ -90,7 +91,7 @@ class _SettingEHProfilePageState extends State { maxAttempts: 3, ); } on DioException catch (e) { - Log.error('Load profile fail', e.message); + Log.error('Load profile fail', e.errorMsg); setState(() { loadingState = LoadingState.error; }); diff --git a/lib/src/pages/setting/eh/setting_eh_page.dart b/lib/src/pages/setting/eh/setting_eh_page.dart index 695f8058c..7c2d01de0 100644 --- a/lib/src/pages/setting/eh/setting_eh_page.dart +++ b/lib/src/pages/setting/eh/setting_eh_page.dart @@ -5,6 +5,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/consts/eh_consts.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/routes/routes.dart'; @@ -193,8 +194,8 @@ class _SettingEHPageState extends State { try { assets = await EHRequest.requestExchangePage(parser: EHSpiderParser.exchangePage2Assets); } on DioException catch (e) { - Log.error('Get assets failed', e.message); - snack('Get assets failed'.tr, e.message ?? '', longDuration: true); + Log.error('Get assets failed', e.errorMsg); + snack('Get assets failed'.tr, e.errorMsg ?? '', longDuration: true); setStateSafely(() { assetsLoadingState = LoadingState.error; }); @@ -227,8 +228,8 @@ class _SettingEHPageState extends State { try { await EHRequest.requestResetImageLimit(); } on DioException catch (e) { - Log.error('Reset limit failed', e.message); - snack('Reset limit failed'.tr, e.message ?? '', longDuration: true); + Log.error('Reset limit failed', e.errorMsg); + snack('Reset limit failed'.tr, e.errorMsg ?? '', longDuration: true); setStateSafely(() { resetLimitLoadingState = LoadingState.error; }); diff --git a/lib/src/pages/setting/eh/tagsets/tag_sets_page_logic.dart b/lib/src/pages/setting/eh/tagsets/tag_sets_page_logic.dart index da1091c5e..04066e24d 100644 --- a/lib/src/pages/setting/eh/tagsets/tag_sets_page_logic.dart +++ b/lib/src/pages/setting/eh/tagsets/tag_sets_page_logic.dart @@ -3,6 +3,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/config/ui_config.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/pages/setting/eh/tagsets/tag_sets_page.dart'; @@ -53,8 +54,8 @@ class TagSetsLogic extends GetxController with Scroll2TopLogicMixin { parser: EHSpiderParser.myTagsPage2TagSetNamesAndTagSetsAndApikey, ); } on DioException catch (e) { - Log.error('getTagSetFailed'.tr, e.message); - snack('getTagSetFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getTagSetFailed'.tr, e.errorMsg); + snack('getTagSetFailed'.tr, e.errorMsg ?? '', longDuration: true); state.loadingState = LoadingState.error; updateSafely([bodyId]); return; @@ -203,8 +204,8 @@ class TagSetsLogic extends GetxController with Scroll2TopLogicMixin { hidden: tag.hidden, ); } on DioException catch (e) { - Log.error('updateTagSetFailed'.tr, e.message); - snack('updateTagSetFailed'.tr, e.message ?? '', longDuration: true); + Log.error('updateTagSetFailed'.tr, e.errorMsg); + snack('updateTagSetFailed'.tr, e.errorMsg ?? '', longDuration: true); state.updateTagState = LoadingState.error; updateSafely(['$tagId::${tag.tagId}']); return; @@ -234,8 +235,8 @@ class TagSetsLogic extends GetxController with Scroll2TopLogicMixin { try { await EHRequest.requestDeleteTagSet(watchedTagId: state.tags[tagSetIndex].tagId, tagSetNo: state.currentTagSetNo); } on DioException catch (e) { - Log.error('deleteTagSetFailed'.tr, e.message); - snack('deleteTagSetFailed'.tr, e.message ?? '', longDuration: true); + Log.error('deleteTagSetFailed'.tr, e.errorMsg); + snack('deleteTagSetFailed'.tr, e.errorMsg ?? '', longDuration: true); state.updateTagState = LoadingState.error; updateSafely(['$tagId::${tag.tagId}']); return; diff --git a/lib/src/service/gallery_download_service.dart b/lib/src/service/gallery_download_service.dart index b023d64f8..fd648bb63 100644 --- a/lib/src/service/gallery_download_service.dart +++ b/lib/src/service/gallery_download_service.dart @@ -18,6 +18,7 @@ import 'package:intl/intl.dart'; import 'package:jhentai/src/database/dao/gallery_dao.dart'; import 'package:jhentai/src/database/database.dart'; import 'package:jhentai/src/exception/eh_parse_exception.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/list_extension.dart'; import 'package:jhentai/src/model/gallery_thumbnail.dart'; import 'package:jhentai/src/model/gallery_url.dart'; @@ -245,8 +246,8 @@ class GalleryDownloadService extends GetxController with GridBasePageServiceMixi ); newGallery = detailPageInfo.galleryDetails.toGalleryDownloadedData(downloadOriginalImage: oldGallery.downloadOriginalImage); } on DioException catch (e) { - Log.info('${'updateGalleryError'.tr}, reason: ${e.message}'); - snack('updateGalleryError'.tr, e.message ?? '', longDuration: true); + Log.info('${'updateGalleryError'.tr}, reason: ${e.errorMsg}'); + snack('updateGalleryError'.tr, e.errorMsg ?? '', longDuration: true); return; } on EHSiteException catch (e) { Log.info('${'updateGalleryError'.tr}, reason: ${e.message}'); diff --git a/lib/src/service/super_resolution_service.dart b/lib/src/service/super_resolution_service.dart index 31eece6a5..e5ea99b30 100644 --- a/lib/src/service/super_resolution_service.dart +++ b/lib/src/service/super_resolution_service.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/database/database.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/get_logic_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/setting/super_resolution_setting.dart'; @@ -116,7 +117,7 @@ class SuperResolutionService extends GetxController { onRetry: (error) => Log.warning('Download super-resolution model failed, retry.'), ); } on DioException catch (e) { - Log.error('Download super-resolution model failed after 5 times', e.message); + Log.error('Download super-resolution model failed after 5 times', e.errorMsg); downloadState = LoadingState.error; updateSafely([downloadId]); return; diff --git a/lib/src/service/tag_search_order_service.dart b/lib/src/service/tag_search_order_service.dart index b795a0dbf..1dca15d30 100644 --- a/lib/src/service/tag_search_order_service.dart +++ b/lib/src/service/tag_search_order_service.dart @@ -7,6 +7,7 @@ import 'package:flutter/foundation.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/database/dao/tag_count_dao.dart'; import 'package:jhentai/src/database/database.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/service/storage_service.dart'; import 'package:jhentai/src/setting/path_setting.dart'; @@ -76,7 +77,7 @@ class TagSearchOrderOptimizationService extends GetxService { onRetry: (error) => Log.warning('Get tag order optimization data failed, retry.'), ); } on DioException catch (e) { - Log.error('Get tag order optimization data failed after 5 times', e.message); + Log.error('Get tag order optimization data failed after 5 times', e.errorMsg); loadingState.value = LoadingState.error; storageService.write('TagSearchOrderOptimizationServiceLoadingState', LoadingState.error.index); return; @@ -102,7 +103,7 @@ class TagSearchOrderOptimizationService extends GetxService { onRetry: (error) => Log.warning('Download tag order optimization data failed, retry.'), ); } on DioException catch (e) { - Log.error('Download tag translation data failed after 5 times', e.message); + Log.error('Download tag translation data failed after 5 times', e.errorMsg); loadingState.value = LoadingState.error; storageService.write('TagSearchOrderOptimizationServiceLoadingState', LoadingState.error.index); return; diff --git a/lib/src/service/tag_translation_service.dart b/lib/src/service/tag_translation_service.dart index d10f09116..499cbfd6d 100644 --- a/lib/src/service/tag_translation_service.dart +++ b/lib/src/service/tag_translation_service.dart @@ -5,6 +5,7 @@ import 'package:dio/dio.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/consts/locale_consts.dart'; import 'package:jhentai/src/database/dao/tag_count_dao.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/model/gallery_detail.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/service/storage_service.dart'; @@ -74,7 +75,7 @@ class TagTranslationService extends GetxService { onRetry: (error) => Log.warning('Download tag translation data failed, retry.'), ); } on DioException catch (e) { - Log.error('Download tag translation data failed after 5 times', e.message); + Log.error('Download tag translation data failed after 5 times', e.errorMsg); loadingState.value = LoadingState.error; storageService.write('TagTranslationServiceLoadingState', LoadingState.error.index); return; diff --git a/lib/src/setting/eh_setting.dart b/lib/src/setting/eh_setting.dart index 88e52573c..d6ae3cd5e 100644 --- a/lib/src/setting/eh_setting.dart +++ b/lib/src/setting/eh_setting.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/setting/site_setting.dart'; import 'package:jhentai/src/setting/user_setting.dart'; @@ -58,7 +59,7 @@ class EHSetting { maxAttempts: 3, ); } on DioException catch (e) { - Log.error('refresh EHSetting fail', e.message); + Log.error('refresh EHSetting fail', e.errorMsg); refreshState.value = LoadingState.error; return; } on EHSiteException catch (e) { diff --git a/lib/src/setting/favorite_setting.dart b/lib/src/setting/favorite_setting.dart index 3a4abf23b..f0aaadbd0 100644 --- a/lib/src/setting/favorite_setting.dart +++ b/lib/src/setting/favorite_setting.dart @@ -2,6 +2,7 @@ import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/setting/user_setting.dart'; import 'package:jhentai/src/utils/log.dart'; @@ -66,7 +67,7 @@ class FavoriteSetting { maxAttempts: 3, ); } on DioException catch (e) { - Log.error('refresh FavoriteSetting fail', e.message); + Log.error('refresh FavoriteSetting fail', e.errorMsg); return; } on EHSiteException catch (e) { Log.error('refresh FavoriteSetting fail', e.message); diff --git a/lib/src/setting/my_tags_setting.dart b/lib/src/setting/my_tags_setting.dart index 8caaaf965..eeac027d0 100644 --- a/lib/src/setting/my_tags_setting.dart +++ b/lib/src/setting/my_tags_setting.dart @@ -1,6 +1,7 @@ import 'package:dio/dio.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/database/database.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/setting/user_setting.dart'; import 'package:retry/retry.dart'; @@ -52,7 +53,7 @@ class MyTagsSetting { maxAttempts: 3, ); } on DioException catch (e) { - Log.error('getTagSetFailed'.tr, e.message); + Log.error('getTagSetFailed'.tr, e.errorMsg); return; } on EHSiteException catch (e) { Log.error('getTagSetFailed'.tr, e.message); diff --git a/lib/src/setting/site_setting.dart b/lib/src/setting/site_setting.dart index 135dbfcdb..ce55c638a 100644 --- a/lib/src/setting/site_setting.dart +++ b/lib/src/setting/site_setting.dart @@ -1,5 +1,6 @@ import 'package:dio/dio.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/network/eh_request.dart'; import 'package:jhentai/src/setting/user_setting.dart'; import 'package:jhentai/src/utils/eh_spider_parser.dart'; @@ -52,7 +53,7 @@ class SiteSetting { maxAttempts: 3, ); } on DioException catch (e) { - Log.error('refresh SiteSetting fail', e.message); + Log.error('refresh SiteSetting fail', e.errorMsg); return; } on EHSiteException catch (e) { Log.error('refresh SiteSetting fail', e.message); diff --git a/lib/src/widget/eh_archive_dialog.dart b/lib/src/widget/eh_archive_dialog.dart index f6efbcfe3..6c1ddf601 100644 --- a/lib/src/widget/eh_archive_dialog.dart +++ b/lib/src/widget/eh_archive_dialog.dart @@ -2,6 +2,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/config/ui_config.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import 'package:jhentai/src/model/gallery_archive.dart'; import 'package:jhentai/src/widget/eh_asset.dart'; @@ -110,8 +111,8 @@ class _EHArchiveDialogState extends State { try { archive = await EHRequest.request(url: widget.archivePageUrl, parser: EHSpiderParser.archivePage2Archive); } on DioException catch (e) { - Log.error('getGalleryArchiveFailed'.tr, e.message); - snack('getGalleryArchiveFailed'.tr, e.message ?? ''); + Log.error('getGalleryArchiveFailed'.tr, e.errorMsg); + snack('getGalleryArchiveFailed'.tr, e.errorMsg ?? ''); setStateSafely(() => loadingState = LoadingState.error); return; } on EHSiteException catch (e) { diff --git a/lib/src/widget/eh_comment_dialog.dart b/lib/src/widget/eh_comment_dialog.dart index fa24996b5..a51e3c118 100644 --- a/lib/src/widget/eh_comment_dialog.dart +++ b/lib/src/widget/eh_comment_dialog.dart @@ -2,6 +2,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/utils/toast_util.dart'; import '../exception/eh_site_exception.dart'; @@ -102,8 +103,8 @@ class EHCommentDialogState extends State { } } on DioException catch (e) { if (e.response?.statusCode != 302) { - Log.error('sendCommentFailed'.tr, e.message); - snack('sendCommentFailed'.tr, e.message ?? ''); + Log.error('sendCommentFailed'.tr, e.errorMsg); + snack('sendCommentFailed'.tr, e.errorMsg ?? ''); return; } } on EHSiteException catch (e) { diff --git a/lib/src/widget/eh_download_hh_dialog.dart b/lib/src/widget/eh_download_hh_dialog.dart index d203bb510..2687168df 100644 --- a/lib/src/widget/eh_download_hh_dialog.dart +++ b/lib/src/widget/eh_download_hh_dialog.dart @@ -1,6 +1,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import 'package:jhentai/src/utils/route_util.dart'; @@ -77,8 +78,8 @@ class _EHDownloadHHDialogState extends State { try { hhInfo = await EHRequest.request(url: widget.archivePageUrl, parser: EHSpiderParser.archivePage2HHInfo); } on DioException catch (e) { - Log.error('Get H@H download info failed', e.message); - snack('failed'.tr, e.message ?? ''); + Log.error('Get H@H download info failed', e.errorMsg); + snack('failed'.tr, e.errorMsg ?? ''); setStateSafely(() => loadingState = LoadingState.error); return; } on EHSiteException catch (e) { diff --git a/lib/src/widget/eh_gallery_stat_dialog.dart b/lib/src/widget/eh_gallery_stat_dialog.dart index aa0ac215a..c911b6e24 100644 --- a/lib/src/widget/eh_gallery_stat_dialog.dart +++ b/lib/src/widget/eh_gallery_stat_dialog.dart @@ -4,6 +4,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/config/ui_config.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import 'package:jhentai/src/model/gallery_stats.dart'; import 'package:jhentai/src/network/eh_request.dart'; @@ -88,8 +89,8 @@ class _EHGalleryStatDialogState extends State { parser: EHSpiderParser.statPage2GalleryStats, ); } on DioException catch (e) { - Log.error('getGalleryStatisticsFailed'.tr, e.message); - snack('getGalleryStatisticsFailed'.tr, e.message ?? ''); + Log.error('getGalleryStatisticsFailed'.tr, e.errorMsg); + snack('getGalleryStatisticsFailed'.tr, e.errorMsg ?? ''); setStateSafely(() => loadingState = LoadingState.error); return; } on EHSiteException catch (e) { diff --git a/lib/src/widget/eh_gallery_torrents_dialog.dart b/lib/src/widget/eh_gallery_torrents_dialog.dart index c71e4836d..409c86b21 100644 --- a/lib/src/widget/eh_gallery_torrents_dialog.dart +++ b/lib/src/widget/eh_gallery_torrents_dialog.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/config/ui_config.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/list_extension.dart'; import 'package:jhentai/src/model/gallery_torrent.dart'; import 'package:jhentai/src/network/eh_request.dart'; @@ -71,8 +72,8 @@ class _EHGalleryTorrentsDialogState extends State { EHSpiderParser.torrentPage2GalleryTorrent, ); } on DioException catch (e) { - Log.error('getGalleryTorrentsFailed'.tr, e.message); - snack('getGalleryTorrentsFailed'.tr, e.message ?? ''); + Log.error('getGalleryTorrentsFailed'.tr, e.errorMsg); + snack('getGalleryTorrentsFailed'.tr, e.errorMsg ?? ''); if (mounted) { setState(() => loadingState = LoadingState.error); } diff --git a/lib/src/widget/eh_tag_dialog.dart b/lib/src/widget/eh_tag_dialog.dart index cd0bbabd5..8d1eeaef4 100644 --- a/lib/src/widget/eh_tag_dialog.dart +++ b/lib/src/widget/eh_tag_dialog.dart @@ -5,6 +5,7 @@ import 'package:flutter_widget_from_html/flutter_widget_from_html.dart'; import 'package:get/get.dart'; import 'package:jhentai/src/exception/eh_parse_exception.dart'; import 'package:jhentai/src/exception/eh_site_exception.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/mixin/login_required_logic_mixin.dart'; import 'package:jhentai/src/routes/routes.dart'; import 'package:jhentai/src/setting/my_tags_setting.dart'; @@ -329,8 +330,8 @@ class _EHTagDialogState extends State with LoginRequiredMixin { parser: EHSpiderParser.addTagSetResponse2Result, ); } on DioException catch (e) { - Log.error('addNewTagSetFailed'.tr, e.message); - toast('${'addNewTagSetFailed'.tr}: ${e.message}', isShort: false); + Log.error('addNewTagSetFailed'.tr, e.errorMsg); + toast('${'addNewTagSetFailed'.tr}: ${e.errorMsg}', isShort: false); if (watch) { addWatchedTagState = LoadingState.error; diff --git a/lib/src/widget/eh_tag_set_dialog.dart b/lib/src/widget/eh_tag_set_dialog.dart index fe94bc498..7b3f9498e 100644 --- a/lib/src/widget/eh_tag_set_dialog.dart +++ b/lib/src/widget/eh_tag_set_dialog.dart @@ -2,6 +2,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; +import 'package:jhentai/src/extension/dio_exception_extension.dart'; import 'package:jhentai/src/extension/widget_extension.dart'; import '../config/ui_config.dart'; @@ -81,8 +82,8 @@ class _EHTagSetDialogState extends State { parser: EHSpiderParser.myTagsPage2TagSetNamesAndTagSetsAndApikey, ); } on DioException catch (e) { - Log.error('getTagSetFailed'.tr, e.message); - snack('getTagSetFailed'.tr, e.message ?? '', longDuration: true); + Log.error('getTagSetFailed'.tr, e.errorMsg); + snack('getTagSetFailed'.tr, e.errorMsg ?? '', longDuration: true); setStateSafely(() { _loadingState = LoadingState.error; });