From 9e808cfbdbf5d3874abf4b3be467dd9196d708d4 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Sat, 22 Nov 2025 15:55:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B8=85=E9=99=A4=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E8=AE=B0=E5=BD=95=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/data/services/account_service.dart | 5 +++++ lib/data/services/meeting/meeting_task_service.dart | 8 ++++++++ lib/data/services/meeting/meeting_upload_service.dart | 7 +++++++ .../meeting/controllers/meeting_details_controller.dart | 1 + lib/modules/splash/controllers/splash_controller.dart | 3 +++ 5 files changed, 24 insertions(+) diff --git a/lib/data/services/account_service.dart b/lib/data/services/account_service.dart index 419749ee4..c2c9748bd 100644 --- a/lib/data/services/account_service.dart +++ b/lib/data/services/account_service.dart @@ -6,6 +6,7 @@ import '../../modules/login/controllers/googleLogin.dart'; import '../../modules/login/controllers/facebookLogin.dart'; import '../services/network/api.dart'; import 'db/database_helper.dart'; +import 'meeting/meeting_task_service.dart'; /// 账号管理服务 /// @@ -79,6 +80,10 @@ class AccountService extends GetxService { /// 返回操作结果,包含成功状态和错误信息 Future signOut() async { try { + // 清除会议记录任务列表 + final taskService = Get.find(); + taskService.cancelTask(); + // 上传会议记录操作记录 await Synchrodata.uploadOperationRecords(); diff --git a/lib/data/services/meeting/meeting_task_service.dart b/lib/data/services/meeting/meeting_task_service.dart index 08b48f065..c13f135fe 100644 --- a/lib/data/services/meeting/meeting_task_service.dart +++ b/lib/data/services/meeting/meeting_task_service.dart @@ -58,6 +58,14 @@ class MeetingTaskService extends GetxService { _getTaskList(); } + void cancelTask() { + _isTask = false; + _taskList.clear(); + _storage.remove("meeting_task_list"); + _storage.remove("meeting_task_finish_list"); + _uploadService.cancelUpload(); + } + Future _initialize() async { try { _appid = AppConfig.env('VOLC_OPENSPEECH_APP_ID') ?? ''; diff --git a/lib/data/services/meeting/meeting_upload_service.dart b/lib/data/services/meeting/meeting_upload_service.dart index 13a98ef2d..63fde0f02 100644 --- a/lib/data/services/meeting/meeting_upload_service.dart +++ b/lib/data/services/meeting/meeting_upload_service.dart @@ -24,6 +24,13 @@ class MeetingUploadService extends GetxService { _getUploadList(); } + void cancelUpload() { + _isUpload = false; + _handled = 0; + uploadList.clear(); + _storage.remove("meeting_upload_list"); + } + void _getUploadList() { uploadList.value = _storage.read("meeting_upload_list") ?? []; executeUpload(); diff --git a/lib/modules/meeting/controllers/meeting_details_controller.dart b/lib/modules/meeting/controllers/meeting_details_controller.dart index aa679d154..7b908e0d7 100644 --- a/lib/modules/meeting/controllers/meeting_details_controller.dart +++ b/lib/modules/meeting/controllers/meeting_details_controller.dart @@ -127,6 +127,7 @@ class MeetingDetailsController extends GetxController final data = await SqfliteApi.getMeetingDetails(id); meetingData.value = MeetingModel.fromJson(data); meetingDetails.value = MeetingDetailsModel.fromJson(data['details']); + _everType = meetingDetails.value.tasktype + 1; _meetingTaskService.tasktype.value = meetingDetails.value.tasktype; if (meetingDetails.value.tasktype >= 3) { dragOffset.value = 0; diff --git a/lib/modules/splash/controllers/splash_controller.dart b/lib/modules/splash/controllers/splash_controller.dart index 7a45d1b9a..e35379d1f 100644 --- a/lib/modules/splash/controllers/splash_controller.dart +++ b/lib/modules/splash/controllers/splash_controller.dart @@ -268,6 +268,9 @@ class SplashController extends GetxController { if (token != null && token.isNotEmpty && isAppConfigInitialized) { Get.offAllNamed(Routes.pairing); } else { + _storage.remove('meeting_task_list'); + _storage.remove('meeting_task_finish_list'); + _storage.remove('meeting_upload_list'); _storage.remove('operation_records'); _storage.remove('operation_delids'); Get.offAllNamed(Routes.login);