| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import 'dart:async';
- import 'package:electronic_assistant/base/base_controller.dart';
- import 'package:electronic_assistant/data/repositories/talk_repository.dart';
- import 'package:electronic_assistant/module/talk/summary/view.dart';
- import 'package:electronic_assistant/module/talk/todo/view.dart';
- import 'package:electronic_assistant/resource/string.gen.dart';
- import 'package:electronic_assistant/utils/toast_util.dart';
- import 'package:get/get.dart';
- import '../../data/bean/agenda_list_all_bean.dart';
- import '../../data/bean/talks.dart';
- import '../../data/repositories/agenda_repository.dart';
- import 'original/view.dart';
- class TalkController extends BaseController {
- final Rxn<TalkBean> talkBean = Rxn();
- // final isOriginalAnalysed = false.obs;
- final isShowElectricLow = false.obs;
- final isAudioPlaying = false.obs;
- final audioProgressValue = 0.0.obs;
- final agendaAllList = <AgendaListAllBean>[].obs;
- final List<String> tabBeans = [
- StringName.talkTabSummary.tr,
- StringName.talkTabMyTask.tr,
- StringName.talkTabOriginal.tr
- ];
- late StreamSubscription<TalkBean?> _talkBeanListener;
- final pages = [const SummaryView(), const TodoView(), const OriginalView()];
- @override
- void onReady() {
- super.onReady();
- _initListener();
- _getArguments();
- }
- void _initListener() {
- _talkBeanListener = talkBean.listen((bean) {
- _dealTalkUpdate(bean);
- });
- }
- void _dealTalkUpdate(TalkBean? bean) {}
- void _getArguments() {
- if (Get.arguments is TalkBean) {
- talkBean.value = Get.arguments as TalkBean;
- }
- }
- void checkCanAnalyze() {
- String? id = talkBean.value?.id;
- double? duration = talkBean.value?.duration;
- if (id == null || duration == null) {
- return;
- }
- talkRepository.checkElectric(duration).then((data) {
- if (data.enough) {
- //提交分析
- _requestAnalyze();
- } else {
- ToastUtil.showToast(StringName.talkAnalyseLowToast.tr);
- isShowElectricLow.value = true;
- }
- }).catchError((error) {
- ToastUtil.showToast(error);
- });
- }
- void _requestAnalyze() {
- //提交文件
- }
- void goElectricStore() {
- //TODO 跳转至商店页
- }
- void refreshAgendaAllData() {
- String? id = talkBean.value?.id;
- if (id == null || agendaAllList.isNotEmpty) {
- return;
- }
- agendaRepository.agendaListAll(id).then((agenda) {
- if (agenda.list != null) {
- agendaAllList.value = agenda.list!;
- }
- });
- }
- @override
- void onClose() {
- super.onClose();
- _talkBeanListener?.cancel();
- }
- void updateProgress(double value) {
- audioProgressValue.value = value;
- }
- }
|