welcome_controller.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import 'package:dart_json_mapper/dart_json_mapper.dart';
  2. import 'package:get/get.dart';
  3. import 'package:naiyouwl/app/common/SharedPreferencesUtil.dart';
  4. import 'package:naiyouwl/app/common/constants.dart';
  5. import 'package:naiyouwl/app/controller/controllers.dart';
  6. import '../../../data/model/SysConfig.dart';
  7. import '../../../network/api_service.dart';
  8. import '../../../routes/app_pages.dart';
  9. class WelcomeController extends GetxController {
  10. var isLoading = true.obs;
  11. var sysConfig = SysConfig().obs;
  12. var error = "".obs;
  13. Future<void> fetchSysConfig() async {
  14. try {
  15. isLoading.value = true;
  16. sysConfig.value = await ApiService().fetchSysConfig(kSysConfig);
  17. await SharedPreferencesUtil().setString("sysconfig", JsonMapper.serialize(sysConfig.value));
  18. var token = await SharedPreferencesUtil().getString("token");
  19. if(token != null){
  20. Get.offNamed(Routes.HOME);
  21. }else {
  22. Get.offNamed(Routes.LOGIN);
  23. }
  24. } catch (e) {
  25. controllers.global.handleApiError(e);
  26. error.value = controllers.global.errorMsg.value;
  27. controllers.global.errorMsg.value = ''; // Clear the error message immediately
  28. } finally {
  29. isLoading.value = false;
  30. }
  31. }
  32. @override
  33. void onInit() {
  34. super.onInit();
  35. fetchSysConfig();
  36. }
  37. @override
  38. void onReady() {
  39. super.onReady();
  40. }
  41. @override
  42. void onClose() {
  43. super.onClose();
  44. }
  45. }