import 'dart:async'; import 'package:electronic_assistant/base/base_controller.dart'; import 'package:electronic_assistant/data/bean/talks.dart'; import 'package:electronic_assistant/data/repositories/talk_repository.dart'; import 'package:get/get.dart'; import '../../../data/bean/agenda_list_all_bean.dart'; import '../../../data/bean/talk_info.dart'; import '../controller.dart'; class SummaryController extends BaseController { final TalkController talkController = Get.find(); final summaryBean = TalkInfo().obs; StreamSubscription? _talkBeanListener; RxList get agendaAllList => talkController.agendaAllList; @override void onReady() { super.onReady(); _talkBeanListener = talkController.talkBean.listen((bean) { _dealTalkUpdate(bean); }); _dealTalkUpdate(talkController.talkBean.value); } void _dealTalkUpdate(TalkBean bean) { refreshSummaryData(); } void refreshSummaryData() { String? id = talkController.talkBean.value.id; if (id == null) { return; } talkRepository.talkInfo(id).then((data) { if (data.talkInfo != null) { summaryBean.value = data.talkInfo!; } }); talkController.refreshAgendaAllData(); } @override void onClose() { super.onClose(); _talkBeanListener?.cancel(); } }