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; final LoadingState res = await customGetData(); if (res is Success) { if (!customHandleResponse(isRefresh, res)) { loadingState.value = res as LoadingState; } } else { if (isRefresh && !handleError(res is Error ? res.errMsg : null)) { loadingState.value = res as Error; } } isLoading = false; } @override Future onReload() { loadingState.value = LoadingState.loading(); return super.onReload(); } }