import 'package:cpt_auth/modules/setting/setting_page.dart'; import 'package:domain/entity/home_module.dart'; import 'package:get/get.dart'; import 'package:plugin_platform/engine/toast/toast_engine.dart'; import 'package:widgets/load_state_layout.dart'; import 'package:widgets/widget_export.dart'; import 'main_state.dart'; class MainController extends GetxController { final MainState state = MainState(); var _needShowPlaceholder = true; //页面PlaceHolder的展示 LoadState loadingState = LoadState.State_Success; String? errorMessage; //刷新页面状态 void changeLoadingState(LoadState state) { loadingState = state; update(); } // Refresh 控制器 final EasyRefreshController refreshController = EasyRefreshController( controlFinishRefresh: true, controlFinishLoad: false, ); // Refresh 刷新事件 Future onRefresh() async { fetchHomeData(); } // 重试请求 Future retryRequest() async { _needShowPlaceholder = true; fetchHomeData(); } /// 获取首页的数据 void fetchHomeData() async { //todo 这里需要调用接口实现 if (_needShowPlaceholder) { changeLoadingState(LoadState.State_Loading); } await Future.delayed(Duration(seconds: 1)); state.datas.clear(); state.datas.addAll(state.modules); //更新状态 changeLoadingState(LoadState.State_Success); refreshController.finishRefresh(); //最后赋值 _needShowPlaceholder = false; } @override void onReady() async { super.onReady(); fetchHomeData(); } /// 跳转到指定的模块中去 void gotoModulePage(HomeModule module) { switch (module.moduleId) { case '1': ToastEngine.show("进入 Labour Request 模块"); break; case '2': ToastEngine.show("进入 Job List 模块"); break; case '3': ToastEngine.show("进入 Sign in Sign out 模块"); break; case '4': ToastEngine.show("进入 Devices 模块"); break; case '5': ToastEngine.show("进入 Labour Request Review 模块"); break; case '6': ToastEngine.show("进入 Attendance Review 模块"); break; case '7': ToastEngine.show("进入 Default Job Title 模块"); break; case '8': ToastEngine.show("进入 Report 模块"); break; } } /// 跳转到设置页面 void gotoSettingPage() { SettingPage.startInstance(); } }