Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-06-18 22:13:06 +08:00
parent 41245d5256
commit 30a8b4d25c
13 changed files with 38 additions and 68 deletions

View File

@@ -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<LoadingState<List<SubItemModel>?>> userSubFolder({
static Future<LoadingState<SubData>> 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']);
}

View File

@@ -22,6 +22,7 @@ class BlackListController
@override
List<BlackListItem>? getDataList(BlackListData response) {
total.value = response.total ?? 0;
return response.list;
}
@@ -32,12 +33,6 @@ class BlackListController
}
}
@override
bool customHandleResponse(bool isRefresh, Success<BlackListData> response) {
total.value = response.response.total ?? 0;
return false;
}
void onRemove(BuildContext context, int index, name, mid) {
showConfirmDialog(
context: context,

View File

@@ -21,6 +21,9 @@ class SelectTopicController
@override
List<TopicItem>? getDataList(TopicPubSearchData response) {
if (response.pageInfo?.hasMore == false) {
isEnd = true;
}
return response.topicItems;
}

View File

@@ -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<DynamicsDataModel> response) {
offset = response.response.offset ?? '';
return false;
}
@override
Future<LoadingState<DynamicsDataModel>> customGetData() =>
DynamicsHttp.followDynamic(

View File

@@ -26,15 +26,10 @@ class FavController extends CommonListController<FavFolderData, FavFolderInfo> {
@override
List<FavFolderInfo>? getDataList(FavFolderData response) {
return response.list;
}
@override
bool customHandleResponse(bool isRefresh, Success<FavFolderData> response) {
if (response.response.hasMore == false) {
if (response.hasMore == false) {
isEnd = true;
}
return false;
return response.list;
}
@override

View File

@@ -37,6 +37,9 @@ class FavDetailController
@override
List<FavDetailItemModel>? getDataList(FavDetailData response) {
if (response.hasMore == false) {
isEnd = true;
}
return response.medias;
}
@@ -49,8 +52,8 @@ class FavDetailController
@override
bool customHandleResponse(bool isRefresh, Success<FavDetailData> response) {
FavDetailData data = response.response;
if (isRefresh) {
FavDetailData data = response.response;
folderInfo.value = data.info!;
isOwner.value = data.info?.mid == accountService.mid;
}

View File

@@ -26,15 +26,10 @@ class FavSearchController
@override
List<FavDetailItemModel>? getDataList(FavDetailData response) {
return response.medias;
}
@override
bool customHandleResponse(bool isRefresh, Success<FavDetailData> response) {
if (response.response.hasMore == false) {
if (response.hasMore == false) {
isEnd = true;
}
return false;
return response.medias;
}
Future<void> onCancelFav(int index, int id, int? type) async {

View File

@@ -22,6 +22,7 @@ class MemberArticleCtr
@override
List<SpaceArticleItem>? getDataList(SpaceArticleData response) {
count = response.count ?? -1;
return response.item;
}
@@ -32,13 +33,6 @@ class MemberArticleCtr
}
}
@override
bool customHandleResponse(
bool isRefresh, Success<SpaceArticleData> response) {
count = response.response.count ?? -1;
return false;
}
@override
Future<LoadingState<SpaceArticleData>> customGetData() =>
MemberHttp.spaceArticle(mid: mid, page: page);

View File

@@ -34,18 +34,11 @@ class MemberDynamicsController
@override
List<DynamicItemModel>? getDataList(DynamicsDataModel response) {
return response.items;
}
@override
bool customHandleResponse(
bool isRefresh, Success<DynamicsDataModel> 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

View File

@@ -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;
}

View File

@@ -46,16 +46,10 @@ class SearchPanelController<R extends SearchNumData<T>, T>
@override
List<T>? getDataList(R response) {
searchResultController?.count[searchType.index] = response.numResults ?? 0;
return response.list;
}
@override
bool customHandleResponse(bool isRefresh, Success<R> response) {
searchResultController?.count[searchType.index] =
response.response.numResults ?? 0;
return false;
}
@override
Future<LoadingState<R>> customGetData() => SearchHttp.searchByType<R>(
searchType: searchType,

View File

@@ -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<List<SubItemModel>?, SubItemModel> {
class SubController extends CommonListController<SubData, SubItemModel> {
AccountService accountService = Get.find<AccountService>();
@override
@@ -64,8 +64,15 @@ class SubController
}
@override
Future<LoadingState<List<SubItemModel>?>> customGetData() =>
UserHttp.userSubFolder(
List<SubItemModel>? getDataList(SubData response) {
if (response.hasMore == false) {
isEnd = true;
}
return response.list;
}
@override
Future<LoadingState<SubData>> customGetData() => UserHttp.userSubFolder(
pn: page,
ps: 20,
mid: accountService.mid,

View File

@@ -29,6 +29,10 @@ class SubDetailController
@override
List<SubDetailItemModel>? 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<SubDetailData> response) {
mediaCount.value = response.response.info!.mediaCount!;
if (subInfo.type == 11) {
playCount.value = response.response.info!.cntInfo!.play!;
}
return false;
}
@override
Future<LoadingState<SubDetailData>> customGetData() {
if (subInfo.type == 11) {