show member guard

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-04-05 12:10:18 +08:00
parent 279f21857d
commit c0b55f9af3
15 changed files with 776 additions and 300 deletions

View File

@@ -0,0 +1,44 @@
import 'package:PiliPlus/http/loading_state.dart';
import 'package:PiliPlus/http/member.dart';
import 'package:PiliPlus/models_new/member_guard/data.dart';
import 'package:PiliPlus/models_new/member_guard/guard_top_list.dart';
import 'package:PiliPlus/pages/common/common_list_controller.dart';
import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_navigation/get_navigation.dart';
class MemberGuardController
extends CommonListController<MemberGuardData, GuardItem> {
@override
void onInit() {
super.onInit();
queryData();
}
final Object ruid = Get.arguments['ruid'];
late List<GuardItem> tops;
@override
List<GuardItem>? getDataList(MemberGuardData response) {
return response.guardTopList;
}
@override
bool customHandleResponse(bool isRefresh, Success<MemberGuardData> response) {
if (response.response.hasMore != 1) {
isEnd = true;
}
if (isRefresh) {
final list = response.response.guardTopList;
tops = list.take(3).toList();
if (list.length > 3) {
list.removeRange(0, 3);
}
}
return false;
}
@override
Future<LoadingState<MemberGuardData>> customGetData() =>
MemberHttp.memberGuard(ruid: ruid, page: page);
}