Skip to content

Commit

Permalink
http error message
Browse files Browse the repository at this point in the history
  • Loading branch information
jiangtian616 committed Feb 28, 2024
1 parent c233596 commit 05654e4
Show file tree
Hide file tree
Showing 27 changed files with 112 additions and 79 deletions.
7 changes: 7 additions & 0 deletions lib/src/extension/dio_exception_extension.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import 'package:dio/dio.dart';

extension DioExceptionExtension on DioException {
String? get errorMsg {
return message ?? error?.toString();
}
}
17 changes: 9 additions & 8 deletions lib/src/pages/base/base_page_logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
17 changes: 9 additions & 8 deletions lib/src/pages/base/old_base_page_logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions lib/src/pages/details/comment/eh_comment.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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);
Expand Down
29 changes: 15 additions & 14 deletions lib/src/pages/details/details_page_logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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]);
Expand Down Expand Up @@ -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]);
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
5 changes: 3 additions & 2 deletions lib/src/pages/details/thumbnails/thumbnails_page_logic.dart
Original file line number Diff line number Diff line change
@@ -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';
Expand Down Expand Up @@ -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;
Expand Down
9 changes: 5 additions & 4 deletions lib/src/pages/gallerys/dashboard/dashboard_page_logic.dart
Original file line number Diff line number Diff line change
@@ -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';
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
5 changes: 3 additions & 2 deletions lib/src/pages/search/mixin/search_page_logic_mixin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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;
Expand Down
9 changes: 5 additions & 4 deletions lib/src/pages/setting/account/login/login_page_logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -90,7 +91,7 @@ class _SettingEHProfilePageState extends State<SettingEHProfilePage> {
maxAttempts: 3,
);
} on DioException catch (e) {
Log.error('Load profile fail', e.message);
Log.error('Load profile fail', e.errorMsg);
setState(() {
loadingState = LoadingState.error;
});
Expand Down
9 changes: 5 additions & 4 deletions lib/src/pages/setting/eh/setting_eh_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -193,8 +194,8 @@ class _SettingEHPageState extends State<SettingEHPage> {
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;
});
Expand Down Expand Up @@ -227,8 +228,8 @@ class _SettingEHPageState extends State<SettingEHPage> {
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;
});
Expand Down
13 changes: 7 additions & 6 deletions lib/src/pages/setting/eh/tagsets/tag_sets_page_logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down
Loading

0 comments on commit 05654e4

Please sign in to comment.