From b20268bef82c06dee2743375c2e2895147ab04c9 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Sat, 10 Jan 2026 16:49:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor(meeting):=20=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=99=A8=E5=88=A0=E9=99=A4=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=B9=B6=E6=9B=B4=E6=96=B0=E5=9B=BE=E6=A0=87=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将重复的控制器删除逻辑提取为独立方法_deleteControllerAfterPop 更新底部操作栏图标为圆角风格 调整底部间距从32.h改为42.h --- .../meeting/views/meeting_record_view.dart | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/lib/modules/meeting/views/meeting_record_view.dart b/lib/modules/meeting/views/meeting_record_view.dart index b5a285ecd..654bf1653 100644 --- a/lib/modules/meeting/views/meeting_record_view.dart +++ b/lib/modules/meeting/views/meeting_record_view.dart @@ -16,6 +16,14 @@ enum _MeetingRecordExitAction { class MeetingRecordView extends GetView { const MeetingRecordView({super.key}); + void _deleteControllerAfterPop() { + Future.delayed(const Duration(milliseconds: 400), () { + if (Get.isRegistered()) { + Get.delete(force: true); + } + }); + } + Future<_MeetingRecordExitAction?> _showExitConfirmDialog(bool isDarkMode) { return Get.dialog<_MeetingRecordExitAction>( Dialog( @@ -191,11 +199,7 @@ class MeetingRecordView extends GetView { if (!controller.isRecording.value) { Get.back(); - Future.microtask(() { - if (Get.isRegistered()) { - Get.delete(force: true); - } - }); + _deleteControllerAfterPop(); return; } @@ -209,20 +213,12 @@ class MeetingRecordView extends GetView { await controller.saveTitleChange(); await controller.saveRecording(); Get.back(result: 'meeting_record_saved'); - Future.microtask(() { - if (Get.isRegistered()) { - Get.delete(force: true); - } - }); + _deleteControllerAfterPop(); return; case _MeetingRecordExitAction.endWithoutSave: await controller.discardRecording(); Get.back(result: 'meeting_record_discarded'); - Future.microtask(() { - if (Get.isRegistered()) { - Get.delete(force: true); - } - }); + _deleteControllerAfterPop(); return; case _MeetingRecordExitAction.continueInBackground: await controller.saveTitleChange(); @@ -472,7 +468,7 @@ class MeetingRecordView extends GetView { )), const Spacer(), _buildBottomBar(context, isDarkMode), - SizedBox(height: 32.h), + SizedBox(height: 42.h), ], ); }, @@ -490,7 +486,9 @@ class MeetingRecordView extends GetView { _buildActionButton( onTap: controller.toggleMarked, child: Obx(() => Icon( - controller.isMarked.value ? Icons.star : Icons.star_border, + controller.isMarked.value + ? Icons.star_rounded + : Icons.star_border_rounded, size: 36.sp, color: controller.isMarked.value ? Colors.orange : Colors.grey, @@ -507,7 +505,7 @@ class MeetingRecordView extends GetView { child: Obx(() => Icon( controller.timerStatus.value == TimerStatus.running ? Icons.pause - : Icons.play_arrow, + : Icons.play_arrow_rounded, size: 44.sp, color: Colors.red, )), @@ -521,7 +519,7 @@ class MeetingRecordView extends GetView { _buildActionButton( onTap: () => _bottomSheet(context, isDarkMode), child: Icon( - Icons.check, + Icons.check_rounded, size: 36.sp, color: Colors.green, ),