controller.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import 'dart:async';
  2. import 'package:electronic_assistant/base/base_controller.dart';
  3. import 'package:electronic_assistant/data/bean/talks.dart';
  4. import 'package:electronic_assistant/data/repositories/account_repository.dart';
  5. import 'package:electronic_assistant/data/repositories/talk_repository.dart';
  6. import 'package:get/get.dart';
  7. import '../../../data/bean/agenda_list_all_bean.dart';
  8. import '../controller.dart';
  9. class SummaryController extends BaseController {
  10. final TalkController talkController = Get.find();
  11. final Rxn<TalkBean> summaryBean = Rxn();
  12. StreamSubscription? _talkStatusListener;
  13. RxList<AgendaListAllBean> get agendaAllList => talkController.agendaAllList;
  14. @override
  15. void onReady() {
  16. super.onReady();
  17. _talkStatusListener = talkController.talkBean.value?.status.listen((bean) {
  18. _dealTalkUpdate();
  19. });
  20. _dealTalkUpdate();
  21. }
  22. void _dealTalkUpdate() {
  23. refreshSummaryData();
  24. }
  25. void refreshSummaryData() {
  26. String? id = talkController.talkBean.value?.id;
  27. if (id == null) {
  28. return;
  29. }
  30. talkRepository.talkInfo(id).then((data) {
  31. summaryBean.value = data.talkInfo;
  32. });
  33. talkController.refreshAgendaAllData();
  34. }
  35. @override
  36. void onClose() {
  37. super.onClose();
  38. _talkStatusListener?.cancel();
  39. }
  40. }