From f718bec18f70bdcac95229c4ed398312947cad60 Mon Sep 17 00:00:00 2001 From: CYH <13923927013@163.com> Date: Wed, 26 Jul 2023 14:59:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9C=88=E5=AD=90=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E5=88=B7=E6=96=B0=E5=9C=88=E5=AD=90=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- circle_app/lib/app/circle/logic.dart | 10 ++++++++++ .../lib/app/circle/widgets/info_list_view.dart | 16 ++++++++++++++++ circle_app/lib/app/my_circle/logic.dart | 11 +++++++++++ 3 files changed, 37 insertions(+) diff --git a/circle_app/lib/app/circle/logic.dart b/circle_app/lib/app/circle/logic.dart index a45ba00..bc0a96f 100644 --- a/circle_app/lib/app/circle/logic.dart +++ b/circle_app/lib/app/circle/logic.dart @@ -57,6 +57,16 @@ class CircleLogic extends GetxController { showToast(bean.msg); } + updateCircleInfo(Circle circleInfo) { + for(int i = 0; i < circle.lists.length; i++) { + Circle temp = circle.lists[i]; + if (temp.id == circleInfo.id) { + circle.lists[i] = circleInfo; + break; + } + } + update(); + } setCircle(String circleId){ circle.lists.forEach((element) { diff --git a/circle_app/lib/app/circle/widgets/info_list_view.dart b/circle_app/lib/app/circle/widgets/info_list_view.dart index ac7afd6..ebb976c 100644 --- a/circle_app/lib/app/circle/widgets/info_list_view.dart +++ b/circle_app/lib/app/circle/widgets/info_list_view.dart @@ -220,6 +220,7 @@ class _InfoListViewState extends State with AutomaticKeepAliveClie child: RefreshIndicator( onRefresh: () async { refreshData(); + refreshCircleData(); }, child: lists.isEmpty ? !callOutMore @@ -1262,4 +1263,19 @@ class _InfoListViewState extends State with AutomaticKeepAliveClie return calculateTextHeight( content, 14.sp, FontWeight.w300, Get.width - 64.sp, 100); } + + void refreshCircleData() async { + var routePath = Get.currentRoute; + if (routePath == AppRoutes.Signal_circle_list) return; + + var data = await DioManager.instance + .get(url: 'up-service/interest/${widget.bean.id}'); + if (data['code'] == 200) { + widget.bean = Circle.fromJson(data['data']); + widget.logic.updateCircleInfo(widget.bean); + setState(() { + + }); + } + } } diff --git a/circle_app/lib/app/my_circle/logic.dart b/circle_app/lib/app/my_circle/logic.dart index 3f15fae..57fc6e9 100644 --- a/circle_app/lib/app/my_circle/logic.dart +++ b/circle_app/lib/app/my_circle/logic.dart @@ -67,4 +67,15 @@ class MyCircleLogic extends GetxController { } + updateCircleInfo(Circle circleInfo) { + for(int i = 0; i < circle.lists.length; i++) { + Circle temp = circle.lists[i]; + if (temp.id == circleInfo.id) { + circle.lists[i] = circleInfo; + break; + } + } + update(); + } + }