import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_state.dart'; import 'package:star_lock/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_entity.dart'; import '../../../../network/api_repository.dart'; import '../../../../tools/baseGetXController.dart'; class MineSetSafetyProblemLogic extends BaseGetXController { final MineSetSafetyProblemState state = MineSetSafetyProblemState(); //用户信息 Future getQuestionListRequest() async { final entity = await ApiRepository.to.getQuestionList('', state.countryCode.value); if (entity.errorCode!.codeIsSuccessful) { state.firstProblemList.value = entity.data!.firstList!; state.secondProblemList.value = entity.data!.secondList!; state.thirdProblemList.value = entity.data!.thirdList!; } } //设置安全信息 Future setSafeAnswerRequest() async { getRequestAnswerList(); final entity = await ApiRepository.to.setSafeAnswer(state.questionAndAnswerList.value); if (entity.errorCode!.codeIsSuccessful) { showToast('操作成功'.tr); Get.until((route) => route.settings.name == Routers.minePersonInfoPage); } } //修改安全信息 Future updateSafeAnswerRequest() async { getRequestAnswerList(); final entity = await ApiRepository.to .updateSafeAnswer(state.questionAndAnswerList.value); if (entity.errorCode!.codeIsSuccessful) { showToast('操作成功'.tr); Get.until((route) => route.settings.name == Routers.minePersonInfoPage); } } void getRequestAnswerList() { state.questionAndAnswerList.value.clear(); for (int i = 0; i < 3; i++) { if (i == 0) { final SafetyProblemData data = SafetyProblemData(); data.question = state.firstProblemStr.value; data.answer = state.firstAnswerStr.value; data.questionId = state.firstQuestionId.value; if (state.isUpdateAnswer.value) { data.answerId = state.firstAnswerId.value; } state.questionAndAnswerList.value.add(data); } else if (i == 1) { final SafetyProblemData data = SafetyProblemData(); data.question = state.secondProblemStr.value; data.answer = state.secondAnswerStr.value; data.questionId = state.secondQuestionId.value; if (state.isUpdateAnswer.value) { data.answerId = state.secondAnswerId.value; } state.questionAndAnswerList.value.add(data); } else if (i == 2) { final SafetyProblemData data = SafetyProblemData(); data.question = state.thirdProblemStr.value; data.answer = state.thirdAnswerStr.value; data.questionId = state.thirdQuestionId.value; if (state.isUpdateAnswer.value) { data.answerId = state.thirdAnswerId.value; } state.questionAndAnswerList.value.add(data); } } } void checkNext(TextEditingController controller) { changeInput(controller); } void changeInput(TextEditingController controller) { if (controller == state.fristAnswerController) { state.firstAnswerStr.value = controller.text; } if (controller == state.secondAnswerController) { state.secondAnswerStr.value = controller.text; } if (controller == state.thirdAnswerController) { state.thirdAnswerStr.value = controller.text; } _resetCanSub(); } void _resetCanSub() { state.canSub.value = state.answerIsOK && state.firstProblemStr.value != '问题一'.tr && state.secondProblemStr.value != '问题二'.tr && state.thirdProblemStr.value != '问题三'.tr; } @override void onInit() { super.onInit(); state.fristAnswerController.text = state.firstAnswerStr.value; state.secondAnswerController.text = state.secondAnswerStr.value; state.thirdAnswerController.text = state.thirdAnswerStr.value; } }