diff --git a/lib/http/user.dart b/lib/http/user.dart index 5b8943565..9204cda8e 100644 --- a/lib/http/user.dart +++ b/lib/http/user.dart @@ -10,7 +10,6 @@ import 'package:PiliPlus/models_new/later/data.dart'; import 'package:PiliPlus/models_new/media_list/data.dart'; import 'package:PiliPlus/models_new/space_setting/data.dart'; import 'package:PiliPlus/models_new/sub/sub/data.dart'; -import 'package:PiliPlus/models_new/sub/sub/list.dart'; import 'package:PiliPlus/models_new/video/video_tag/data.dart'; import 'package:PiliPlus/utils/global_data.dart'; import 'package:PiliPlus/utils/storage.dart'; @@ -253,7 +252,7 @@ class UserHttp { } // 我的订阅 - static Future?>> userSubFolder({ + static Future> userSubFolder({ required int mid, required int pn, required int ps, @@ -268,7 +267,7 @@ class UserHttp { }, ); if (res.data['code'] == 0 && res.data['data'] is Map) { - return Success(SubData.fromJson(res.data['data']).list); + return Success(SubData.fromJson(res.data['data'])); } else { return Error(res.data['message']); } diff --git a/lib/pages/blacklist/controller.dart b/lib/pages/blacklist/controller.dart index f242f8ca9..1b962df93 100644 --- a/lib/pages/blacklist/controller.dart +++ b/lib/pages/blacklist/controller.dart @@ -22,6 +22,7 @@ class BlackListController @override List? getDataList(BlackListData response) { + total.value = response.total ?? 0; return response.list; } @@ -32,12 +33,6 @@ class BlackListController } } - @override - bool customHandleResponse(bool isRefresh, Success response) { - total.value = response.response.total ?? 0; - return false; - } - void onRemove(BuildContext context, int index, name, mid) { showConfirmDialog( context: context, diff --git a/lib/pages/dynamics_select_topic/controller.dart b/lib/pages/dynamics_select_topic/controller.dart index 784813a6c..446b0c84b 100644 --- a/lib/pages/dynamics_select_topic/controller.dart +++ b/lib/pages/dynamics_select_topic/controller.dart @@ -21,6 +21,9 @@ class SelectTopicController @override List? getDataList(TopicPubSearchData response) { + if (response.pageInfo?.hasMore == false) { + isEnd = true; + } return response.topicItems; } diff --git a/lib/pages/dynamics_tab/controller.dart b/lib/pages/dynamics_tab/controller.dart index 2e17c9959..bfb224e3f 100644 --- a/lib/pages/dynamics_tab/controller.dart +++ b/lib/pages/dynamics_tab/controller.dart @@ -41,16 +41,10 @@ class DynamicsTabController response.items?.removeWhere((e) => dynamicsController.tempBannedList .contains(e.modules.moduleAuthor?.mid)); } + offset = response.offset ?? ''; return response.items; } - @override - bool customHandleResponse( - bool isRefresh, Success response) { - offset = response.response.offset ?? ''; - return false; - } - @override Future> customGetData() => DynamicsHttp.followDynamic( diff --git a/lib/pages/fav/video/controller.dart b/lib/pages/fav/video/controller.dart index b21db7c08..d35383394 100644 --- a/lib/pages/fav/video/controller.dart +++ b/lib/pages/fav/video/controller.dart @@ -26,15 +26,10 @@ class FavController extends CommonListController { @override List? getDataList(FavFolderData response) { - return response.list; - } - - @override - bool customHandleResponse(bool isRefresh, Success response) { - if (response.response.hasMore == false) { + if (response.hasMore == false) { isEnd = true; } - return false; + return response.list; } @override diff --git a/lib/pages/fav_detail/controller.dart b/lib/pages/fav_detail/controller.dart index c255d5683..d3e42550a 100644 --- a/lib/pages/fav_detail/controller.dart +++ b/lib/pages/fav_detail/controller.dart @@ -37,6 +37,9 @@ class FavDetailController @override List? getDataList(FavDetailData response) { + if (response.hasMore == false) { + isEnd = true; + } return response.medias; } @@ -49,8 +52,8 @@ class FavDetailController @override bool customHandleResponse(bool isRefresh, Success response) { - FavDetailData data = response.response; if (isRefresh) { + FavDetailData data = response.response; folderInfo.value = data.info!; isOwner.value = data.info?.mid == accountService.mid; } diff --git a/lib/pages/fav_search/controller.dart b/lib/pages/fav_search/controller.dart index 0b46de710..357da3af5 100644 --- a/lib/pages/fav_search/controller.dart +++ b/lib/pages/fav_search/controller.dart @@ -26,15 +26,10 @@ class FavSearchController @override List? getDataList(FavDetailData response) { - return response.medias; - } - - @override - bool customHandleResponse(bool isRefresh, Success response) { - if (response.response.hasMore == false) { + if (response.hasMore == false) { isEnd = true; } - return false; + return response.medias; } Future onCancelFav(int index, int id, int? type) async { diff --git a/lib/pages/member_article/controller.dart b/lib/pages/member_article/controller.dart index ed370e2e8..67f224158 100644 --- a/lib/pages/member_article/controller.dart +++ b/lib/pages/member_article/controller.dart @@ -22,6 +22,7 @@ class MemberArticleCtr @override List? getDataList(SpaceArticleData response) { + count = response.count ?? -1; return response.item; } @@ -32,13 +33,6 @@ class MemberArticleCtr } } - @override - bool customHandleResponse( - bool isRefresh, Success response) { - count = response.response.count ?? -1; - return false; - } - @override Future> customGetData() => MemberHttp.spaceArticle(mid: mid, page: page); diff --git a/lib/pages/member_dynamics/controller.dart b/lib/pages/member_dynamics/controller.dart index 21c4eed5d..629782223 100644 --- a/lib/pages/member_dynamics/controller.dart +++ b/lib/pages/member_dynamics/controller.dart @@ -34,18 +34,11 @@ class MemberDynamicsController @override List? getDataList(DynamicsDataModel response) { - return response.items; - } - - @override - bool customHandleResponse( - bool isRefresh, Success response) { - DynamicsDataModel data = response.response; - offset = data.offset?.isNotEmpty == true ? data.offset! : '-1'; - if (data.hasMore == false) { + offset = response.offset?.isNotEmpty == true ? response.offset! : '-1'; + if (response.hasMore == false) { isEnd = true; } - return false; + return response.items; } @override diff --git a/lib/pages/member_search/child/controller.dart b/lib/pages/member_search/child/controller.dart index 95ff5baf4..51cd9d9bf 100644 --- a/lib/pages/member_search/child/controller.dart +++ b/lib/pages/member_search/child/controller.dart @@ -41,6 +41,9 @@ class MemberSearchChildController extends CommonListController { case MemberSearchType.dynamic: DynamicsDataModel data = response; offset = data.offset; + if (data.hasMore == false) { + isEnd = true; + } controller.counts[searchType.index] = data.total ?? 0; return data.items; } diff --git a/lib/pages/search_panel/controller.dart b/lib/pages/search_panel/controller.dart index ba7d88e9d..b8a1bab8d 100644 --- a/lib/pages/search_panel/controller.dart +++ b/lib/pages/search_panel/controller.dart @@ -46,16 +46,10 @@ class SearchPanelController, T> @override List? getDataList(R response) { + searchResultController?.count[searchType.index] = response.numResults ?? 0; return response.list; } - @override - bool customHandleResponse(bool isRefresh, Success response) { - searchResultController?.count[searchType.index] = - response.response.numResults ?? 0; - return false; - } - @override Future> customGetData() => SearchHttp.searchByType( searchType: searchType, diff --git a/lib/pages/subscription/controller.dart b/lib/pages/subscription/controller.dart index da9970050..e90fb3ff4 100644 --- a/lib/pages/subscription/controller.dart +++ b/lib/pages/subscription/controller.dart @@ -1,6 +1,7 @@ import 'package:PiliPlus/http/fav.dart'; import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/user.dart'; +import 'package:PiliPlus/models_new/sub/sub/data.dart'; import 'package:PiliPlus/models_new/sub/sub/list.dart'; import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:PiliPlus/services/account_service.dart'; @@ -8,8 +9,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; -class SubController - extends CommonListController?, SubItemModel> { +class SubController extends CommonListController { AccountService accountService = Get.find(); @override @@ -64,8 +64,15 @@ class SubController } @override - Future?>> customGetData() => - UserHttp.userSubFolder( + List? getDataList(SubData response) { + if (response.hasMore == false) { + isEnd = true; + } + return response.list; + } + + @override + Future> customGetData() => UserHttp.userSubFolder( pn: page, ps: 20, mid: accountService.mid, diff --git a/lib/pages/subscription_detail/controller.dart b/lib/pages/subscription_detail/controller.dart index 74fefcc6f..eab7c1445 100644 --- a/lib/pages/subscription_detail/controller.dart +++ b/lib/pages/subscription_detail/controller.dart @@ -29,6 +29,10 @@ class SubDetailController @override List? getDataList(SubDetailData response) { + mediaCount.value = response.info!.mediaCount!; + if (subInfo.type == 11) { + playCount.value = response.info!.cntInfo!.play!; + } return response.medias; } @@ -39,15 +43,6 @@ class SubDetailController } } - @override - bool customHandleResponse(bool isRefresh, Success response) { - mediaCount.value = response.response.info!.mediaCount!; - if (subInfo.type == 11) { - playCount.value = response.response.info!.cntInfo!.play!; - } - return false; - } - @override Future> customGetData() { if (subInfo.type == 11) {