From 06e599b990fcd715b72a17b6965b1fc7b2989149 Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Tue, 5 Mar 2024 14:59:09 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=8C=E4=BF=AE=E5=A4=8D=E5=AE=89=E5=85=A8?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9B=B8=E5=85=B3bug=202=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BF=AE=E6=94=B9=E5=AE=89=E5=85=A8=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E6=8E=A5=E5=8F=A3=E5=8F=8A=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...minePersonInfoSetSafetyProblem_entity.dart | 13 +++++ .../minePersonInfoSetSafetyProblem_logic.dart | 47 +++++++++++++++++++ .../minePersonInfoSetSafetyProblem_page.dart | 30 +++--------- .../minePersonInfoSetSafetyProblem_state.dart | 9 ++++ ...inePersonInfoViewSafetyProblem_entity.dart | 3 ++ ...minePersonInfoViewSafetyProblem_logic.dart | 3 ++ .../minePersonInfoViewSafetyProblem_page.dart | 3 ++ ...minePersonInfoViewSafetyProblem_state.dart | 4 ++ star_lock/lib/network/api.dart | 1 + star_lock/lib/network/api_provider.dart | 5 ++ star_lock/lib/network/api_repository.dart | 6 +++ 11 files changed, 101 insertions(+), 23 deletions(-) diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_entity.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_entity.dart index 6473aa87..d1d7e579 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_entity.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_entity.dart @@ -73,6 +73,7 @@ class SafetyProblemData { int? questionId; String? question; String? answer; + int? answerId; SafetyProblemData({this.questionId, this.question}); @@ -80,6 +81,7 @@ class SafetyProblemData { questionId = json['questionId']; question = json['question']; answer = json['answer']; + answerId = json['answerId']; } Map toJson() { @@ -87,6 +89,7 @@ class SafetyProblemData { data['questionId'] = questionId; data['question'] = question; data['answer'] = answer; + data['answerId'] = answerId; return data; } @@ -96,18 +99,23 @@ class SafetyProblemData2 { int? questionId; String? question; String? answer; + int? answerId; SafetyProblemData2({this.questionId, this.question}); SafetyProblemData2.fromJson(Map json) { questionId = json['questionId']; question = json['question']; + answer = json['answer']; + answerId = json['answerId']; } Map toJson() { final Map data = {}; data['questionId'] = questionId; data['question'] = question; + data['answer'] = answer; + data['answerId'] = answerId; return data; } } @@ -116,18 +124,23 @@ class SafetyProblemData3 { int? questionId; String? question; String? answer; + int? answerId; SafetyProblemData3({this.questionId, this.question}); SafetyProblemData3.fromJson(Map json) { questionId = json['questionId']; question = json['question']; + answer = json['answer']; + answerId = json['answerId']; } Map toJson() { final Map data = {}; data['questionId'] = questionId; data['question'] = question; + data['answer'] = answer; + data['answerId'] = answerId; return data; } } diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_logic.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_logic.dart index 6ed7a709..a00bcbb2 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_logic.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_logic.dart @@ -3,6 +3,7 @@ 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 'package:star_lock/translations/trans_lib.dart'; import '../../../../network/api_repository.dart'; import '../../../../tools/baseGetXController.dart'; @@ -22,6 +23,7 @@ class MineSetSafetyProblemLogic extends BaseGetXController { //设置安全信息 Future setSafeAnswerRequest() async { + getRequestAnswerList(); var entity = await ApiRepository.to.setSafeAnswer(state.questionAndAnswerList.value); if (entity.errorCode!.codeIsSuccessful) { @@ -30,6 +32,51 @@ class MineSetSafetyProblemLogic extends BaseGetXController { } } + //修改安全信息 + Future updateSafeAnswerRequest() async { + getRequestAnswerList(); + var entity = await ApiRepository.to + .updateSafeAnswer(state.questionAndAnswerList.value); + if (entity.errorCode!.codeIsSuccessful) { + showToast("操作成功"); + Get.until((route) => route.settings.name == Routers.minePersonInfoPage); + } + } + + void getRequestAnswerList() { + state.questionAndAnswerList.value.clear(); + for (int i = 0; i < 3; i++) { + if (i == 0) { + 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) { + 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) { + 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); } diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart index a66267a8..1f539807 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart @@ -78,30 +78,13 @@ class _MinePersonInfoSetSafetyProblemPageState btnName: TranslationLoader.lanKeys!.sure!.tr, isDisabled: state.canSub.value, onClick: () { - state.questionAndAnswerList.value.clear(); - for (int i = 0; i < 3; i++) { - if (i == 0) { - SafetyProblemData data = SafetyProblemData(); - data.question = state.firstProblemStr.value; - data.answer = state.firstAnswerStr.value; - data.questionId = state.firstQuestionId.value; - state.questionAndAnswerList.value.add(data); - } else if (i == 1) { - SafetyProblemData data = SafetyProblemData(); - data.question = state.secondProblemStr.value; - data.answer = state.secondAnswerStr.value; - data.questionId = state.secondQuestionId.value; - state.questionAndAnswerList.value.add(data); - } else if (i == 2) { - SafetyProblemData data = SafetyProblemData(); - data.question = state.thirdProblemStr.value; - data.answer = state.thirdAnswerStr.value; - data.questionId = state.thirdQuestionId.value; - state.questionAndAnswerList.value.add(data); - } + if (state.isUpdateAnswer.value) { + //修改安全信息 + logic.updateSafeAnswerRequest(); + } else { + //设置安全信息 + logic.setSafeAnswerRequest(); } - //设置安全信息接口 - logic.setSafeAnswerRequest(); }), )), ], @@ -175,6 +158,7 @@ class _MinePersonInfoSetSafetyProblemPageState state.thirdProblemStr.value = getSelectProblem; state.thirdQuestionId.value = data.questionId!; } + state.canSub.value = true; }, ); }); diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_state.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_state.dart index 6d6ee624..97b0c11d 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_state.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_state.dart @@ -19,12 +19,17 @@ class MineSetSafetyProblemState { var secondQuestionId = 0.obs; var thirdQuestionId = 0.obs; + var firstAnswerId = 0.obs; + var secondAnswerId = 0.obs; + var thirdAnswerId = 0.obs; + var firstAnswerStr = ''.obs; var secondAnswerStr = ''.obs; var thirdAnswerStr = ''.obs; var countryCode = ''.obs; var questionAndAnswerList = [].obs; + var isUpdateAnswer = false.obs; bool get answerIsOK => firstAnswerStr.value.isNotEmpty && @@ -35,6 +40,7 @@ class MineSetSafetyProblemState { MineSetSafetyProblemState() { if (Get.arguments != null) { Map map = Get.arguments; + isUpdateAnswer.value = true; firstProblemStr.value = map["firstProblemStr"]; secondProblemStr.value = map["secondProblemStr"]; thirdProblemStr.value = map["thirdProblemStr"]; @@ -44,6 +50,9 @@ class MineSetSafetyProblemState { firstQuestionId.value = map["firstQuestionId"]; secondQuestionId.value = map["secondQuestionId"]; thirdQuestionId.value = map["thirdQuestionId"]; + firstAnswerId.value = map["firstAnswerId"]; + secondAnswerId.value = map["secondAnswerId"]; + thirdAnswerId.value = map["thirdAnswerId"]; } } } diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_entity.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_entity.dart index cdef8da2..51027770 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_entity.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_entity.dart @@ -36,6 +36,7 @@ class SafetyProblemData { String? answer; int? uid; String? question; + int? answerId; SafetyProblemData({this.questionId, this.answer, this.uid, this.question}); @@ -44,6 +45,7 @@ class SafetyProblemData { answer = json['answer']; uid = json['uid']; question = json['question']; + answerId = json['answerId']; } Map toJson() { @@ -52,6 +54,7 @@ class SafetyProblemData { data['answer'] = answer; data['uid'] = uid; data['question'] = question; + data['answerId'] = answerId; return data; } } diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_logic.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_logic.dart index 315681ee..9bf60297 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_logic.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_logic.dart @@ -18,16 +18,19 @@ class MineViewSafetyProblemLogic extends BaseGetXController { state.firstProblemStr.value = safeData1.question!; state.firstAnswerStr.value = safeData1.answer!; state.firstQuestionId.value = safeData1.questionId!; + state.firstAnswerId.value = safeData1.answerId!; SafetyProblemData safeData2 = entity.dataList![1]; state.secondProblemStr.value = safeData2.question!; state.secondAnswerStr.value = safeData2.answer!; state.secondQuestionId.value = safeData2.questionId!; + state.secondAnswerId.value = safeData2.answerId!; SafetyProblemData safeData3 = entity.dataList![2]; state.thirdProblemStr.value = safeData3.question!; state.thirdAnswerStr.value = safeData3.answer!; state.thirdQuestionId.value = safeData3.questionId!; + state.thirdAnswerId.value = safeData3.answerId!; } } } diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart index 84206a8d..5994645e 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart @@ -51,6 +51,9 @@ class _MinePersonInfoViewSafetyProblemPageState 'firstQuestionId': state.firstQuestionId.value, 'secondQuestionId': state.secondQuestionId.value, 'thirdQuestionId': state.thirdQuestionId.value, + 'firstAnswerId': state.firstAnswerId.value, + 'secondAnswerId': state.secondAnswerId.value, + 'thirdAnswerId': state.thirdAnswerId.value, }); }, child: Text( diff --git a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_state.dart b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_state.dart index e9018b15..61fa4bbe 100644 --- a/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_state.dart +++ b/star_lock/lib/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_state.dart @@ -13,4 +13,8 @@ class MineViewSafetyProblemState { var firstQuestionId = 0.obs; var secondQuestionId = 0.obs; var thirdQuestionId = 0.obs; + + var firstAnswerId = 0.obs; + var secondAnswerId = 0.obs; + var thirdAnswerId = 0.obs; } diff --git a/star_lock/lib/network/api.dart b/star_lock/lib/network/api.dart index 2afe6bdb..e1c6f457 100644 --- a/star_lock/lib/network/api.dart +++ b/star_lock/lib/network/api.dart @@ -162,6 +162,7 @@ abstract class Api { final String getQuestionListURL = '/safeAnswer/getQuestionList'; //获取安全信息列表 final String getOwnQuestionListURL = '/safeAnswer/getOwnQuestionList'; //获取已设置的安全信息 + final String updateSafeAnswerURL = '/safeAnswer/update'; //修改安全信息 final String setSafeAnswerURL = '/safeAnswer/set'; //设置安全信息 final String getUpTokenURL = '/file/getUploadParams'; //上传头像 先获取upToken 再调用updateUserInfo diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index f3fd785c..78b403b2 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -1477,6 +1477,11 @@ class ApiProvider extends BaseProvider { setSafeAnswerURL.toUrl, jsonEncode({"questionAndAnswerList": questionAndAnswerList})); + //修改安全信息 + Future updateSafeAnswer(List questionAndAnswerList) => post( + updateSafeAnswerURL.toUrl, + jsonEncode({"questionAndAnswerList": questionAndAnswerList})); + // 获取上传文件的upToken 再调用updateUserInfo Future getUpToken(String module, String typeKey, String type, String filename, int size) => diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index eba142d8..a61425ab 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -1479,6 +1479,12 @@ class ApiRepository { return LoginEntity.fromJson(res.body); } + //修改安全信息 + Future updateSafeAnswer(List questionAndAnswerList) async { + final res = await apiProvider.updateSafeAnswer(questionAndAnswerList); + return LoginEntity.fromJson(res.body); + } + //上传头像 先获取upToken 再调用updateUserInfo Future getUpToken( {required String module,