import 'package:dart_json_mapper/dart_json_mapper.dart'; import 'package:get/get.dart'; import 'package:naiyouwl/app/common/SharedPreferencesUtil.dart'; import 'package:naiyouwl/app/common/constants.dart'; import 'package:naiyouwl/app/controller/controllers.dart'; import 'package:naiyouwl/app/data/model/UpdateVersion.dart'; import '../../../data/model/SysConfig.dart'; import '../../../network/api_service.dart'; import '../../../routes/app_pages.dart'; class WelcomeController extends GetxController { var isLoading = true.obs; var sysConfig = SysConfig().obs; var verModes = UpdateVersion().obs; var error = "".obs; var msgStatus = "".obs; var isUPdateVerion = false.obs; Future fetchSysConfig() async { try { msgStatus.value = "获取系统配置"; isLoading.value = true; sysConfig.value = await ApiService().fetchSysConfig(kSysConfig); await SharedPreferencesUtil().setString("sysconfig", JsonMapper.serialize(sysConfig.value)); var token = await SharedPreferencesUtil().getString("token"); if(token != null){ Get.offNamed(Routes.HOME); }else { Get.offNamed(Routes.LOGIN); } } catch (e) { isLoading.value = false; msgStatus.value = "获取系统配置错误"; controllers.global.handleApiError(e); error.value = controllers.global.errorMsg.value; controllers.global.errorMsg.value = ''; // Clear the error message immediately } finally { isLoading.value = false; msgStatus.value = "获取系统配置完成"; } } Future fetchUpdateVersion() async { try { msgStatus.value = "正在检测版本..."; isLoading.value = true; var tag = "win10"; if(GetPlatform.isMacOS){ tag = "mac"; } verModes.value = await ApiService().fetchUpdateVersion(kUpdateVersion,{"tag":tag,"appverion":kVersion}); if(verModes.value.versionupdate != null){ if(verModes.value.versionupdate == 1){ msgStatus.value = "有更新..."; isUPdateVerion.value = true; } else { isUPdateVerion.value = false; await fetchSysConfig(); } }else{ isUPdateVerion.value = false; await fetchSysConfig(); } } catch (e) { isUPdateVerion.value = false; msgStatus.value = "获取版本数据失败"; await fetchSysConfig(); // controllers.global.handleApiError(e); // error.value = controllers.global.errorMsg.value; // controllers.global.errorMsg.value = ''; // Clear the error message immediately } finally { isLoading.value = false; msgStatus.value = "检测版本号完成"; } } //app_update @override void onInit() { super.onInit(); fetchUpdateVersion(); } @override void onReady() { super.onReady(); } @override void onClose() { super.onClose(); } }