import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/http/member.dart'; import 'package:PiliPlus/models/space/filter.dart'; import 'package:PiliPlus/models/space_opus/data.dart'; import 'package:PiliPlus/models/space_opus/item.dart'; import 'package:PiliPlus/pages/common/common_list_controller.dart'; import 'package:PiliPlus/pages/member/controller.dart'; import 'package:get/get.dart'; class MemberOpusController extends CommonListController { MemberOpusController({ required this.heroTag, required this.mid, }); final String? heroTag; final int mid; String offset = ''; Rx type = SpaceTabFilter(text: "全部图文", meta: "all", tabName: "图文").obs; List? filter; @override void onInit() { super.onInit(); filter = Get.find(tag: heroTag) .tab2 ?.firstWhereOrNull((e) => e.param == 'contribute') ?.items ?.firstWhereOrNull((e) => e.param == 'opus') ?.filter; queryData(); } @override Future onRefresh() { offset = ''; return super.onRefresh(); } @override List? getDataList(SpaceOpusData response) { offset = response.offset ?? ''; if (response.hasMore == false) { isEnd = true; } return response.items; } @override Future> customGetData() => MemberHttp.spaceOpus( hostMid: mid, page: currentPage, offset: offset, type: type.value.meta, ); }