112 lines
4.0 KiB
Dart
Executable File
112 lines
4.0 KiB
Dart
Executable File
|
|
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<void> 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<void> 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<void> 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;
|
|
}
|
|
}
|