controller.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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 =
  18. talkController.talkBean.value?.status.listen((status) {
  19. _dealTalkUpdate();
  20. });
  21. _dealTalkUpdate();
  22. }
  23. void _dealTalkUpdate() {
  24. refreshSummaryData();
  25. }
  26. void refreshSummaryData() {
  27. String? id = talkController.talkBean.value?.id;
  28. if (id == null) {
  29. return;
  30. }
  31. talkRepository.talkInfo(id).then((data) {
  32. summaryBean.value = data.talkInfo;
  33. });
  34. talkController.refreshAgendaAllData();
  35. }
  36. @override
  37. void onClose() {
  38. super.onClose();
  39. _talkStatusListener?.cancel();
  40. }
  41. }