import 'package:PiliPlus/http/loading_state.dart'; import 'package:PiliPlus/pages/common/common_controller.dart'; import 'package:get/get.dart'; abstract class CommonDataController extends CommonController { @override Rx> loadingState = LoadingState.loading().obs; @override Future queryData([bool isRefresh = true]) async { if (isLoading) return; isLoading = true; LoadingState response = await customGetData(); if (response is Success) { if (!customHandleResponse(isRefresh, response)) { loadingState.value = response as LoadingState; } } else { if (isRefresh && !handleError(response is Error ? response.errMsg : null)) { loadingState.value = response as LoadingState; } } isLoading = false; } @override Future onReload() { loadingState.value = LoadingState.loading(); return super.onReload(); } }