|
|
@@ -1,7 +1,5 @@
|
|
|
import 'dart:async';
|
|
|
-import 'dart:developer';
|
|
|
import 'dart:io';
|
|
|
-
|
|
|
import 'package:connectivity_plus/connectivity_plus.dart';
|
|
|
import 'package:electronic_assistant/base/base_controller.dart';
|
|
|
import 'package:electronic_assistant/data/consts/event_report_id.dart';
|
|
|
@@ -12,10 +10,7 @@ import 'package:electronic_assistant/module/chat/view.dart';
|
|
|
import 'package:electronic_assistant/module/login/view.dart';
|
|
|
import 'package:electronic_assistant/module/record/record_handler.dart';
|
|
|
import 'package:electronic_assistant/module/store/view.dart';
|
|
|
-import 'package:electronic_assistant/module/talk/summary/view.dart';
|
|
|
import 'package:electronic_assistant/module/talk/todo/controller.dart';
|
|
|
-import 'package:electronic_assistant/module/talk/todo/view.dart';
|
|
|
-import 'package:electronic_assistant/module/talk/view.dart';
|
|
|
import 'package:electronic_assistant/resource/assets.gen.dart';
|
|
|
import 'package:electronic_assistant/resource/colors.gen.dart';
|
|
|
import 'package:electronic_assistant/resource/string.gen.dart';
|
|
|
@@ -123,6 +118,7 @@ class TalkController extends BaseController {
|
|
|
bool isLocalFileHas = false;
|
|
|
|
|
|
final Rxn<Duration> playingDuration = Rxn();
|
|
|
+ final Rxn<TalkBean> summaryBean = Rxn();
|
|
|
|
|
|
@override
|
|
|
void onReady() {
|
|
|
@@ -231,6 +227,7 @@ class TalkController extends BaseController {
|
|
|
TalkBean? bean = parameters?[argumentItem];
|
|
|
if (bean != null) {
|
|
|
talkBean.value = bean;
|
|
|
+ debugPrint('talkBean == ${bean.summary}');
|
|
|
_dealTalk(bean);
|
|
|
} else {
|
|
|
paramId = parameters?[argumentTalkId];
|
|
|
@@ -597,24 +594,53 @@ class TalkController extends BaseController {
|
|
|
eventReport(EventId.event_101004);
|
|
|
showTalkShareDialog(talkBean.value?.title.value,
|
|
|
(type, shareTo, fileName, tag) {
|
|
|
- talkRepository
|
|
|
- .talkExport(talkBean.value!.id, fileName, type)
|
|
|
- .then((file) async {
|
|
|
- if (shareTo == ShareTo.ios) {
|
|
|
- await Share.shareXFiles([XFile(file.path)], subject: fileName);
|
|
|
- } else if (shareTo == ShareTo.wechat) {
|
|
|
- await SystemShareUtil.shareWechatFile(file.path);
|
|
|
- } else {
|
|
|
- await SystemShareUtil.shareQQFile(file.path);
|
|
|
- }
|
|
|
- SmartDialog.dismiss(tag: tag);
|
|
|
- }).catchError((error) {
|
|
|
- if (error is SystemShareException) {
|
|
|
- ToastUtil.showToast(error.message);
|
|
|
- } else {
|
|
|
- ErrorHandler.toastError(error);
|
|
|
- }
|
|
|
- });
|
|
|
+ if (type == ShareTalkType.summary || type == ShareTalkType.original) {
|
|
|
+ _shareSummaryOrOriginal(
|
|
|
+ talkBean.value!.id, fileName, type, shareTo, tag);
|
|
|
+ } else if (type == ShareTalkType.mindMap) {
|
|
|
+ //TODO 生成思维导图
|
|
|
+ _shareMindMap();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ void _shareMindMap() {}
|
|
|
+
|
|
|
+ void _shareSummaryOrOriginal(String id, String fileName, ShareTalkType type,
|
|
|
+ ShareTo shareTo, String tag) async {
|
|
|
+ talkRepository.talkExport(id, fileName, type).then((file) async {
|
|
|
+ if (shareTo == ShareTo.ios) {
|
|
|
+ await Share.shareXFiles([XFile(file.path)], subject: fileName);
|
|
|
+ } else if (shareTo == ShareTo.wechat) {
|
|
|
+ await SystemShareUtil.shareWechatFile(file.path);
|
|
|
+ } else if (shareTo == ShareTo.qq) {
|
|
|
+ await SystemShareUtil.shareQQFile(file.path);
|
|
|
+ }
|
|
|
+ SmartDialog.dismiss(tag: tag);
|
|
|
+ }).catchError((error) {
|
|
|
+ if (error is SystemShareException) {
|
|
|
+ ToastUtil.showToast(error.message);
|
|
|
+ } else {
|
|
|
+ ErrorHandler.toastError(error);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ void seekTo(int? startMs) {
|
|
|
+ if (startMs == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ _audioPlayer.seek(Duration(milliseconds: startMs));
|
|
|
+ }
|
|
|
+
|
|
|
+ Future<TalkBean?> refreshSummaryData() async {
|
|
|
+ String? id = talkBean.value?.id;
|
|
|
+ if (id == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return talkRepository.talkInfo(id).then((data) {
|
|
|
+ summaryBean.value = data.talkInfo;
|
|
|
+ return data.talkInfo;
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@@ -627,11 +653,4 @@ class TalkController extends BaseController {
|
|
|
_agendaContentController?.dispose();
|
|
|
_agendaNameController?.dispose();
|
|
|
}
|
|
|
-
|
|
|
- void seekTo(int? startMs) {
|
|
|
- if (startMs == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- _audioPlayer.seek(Duration(milliseconds: startMs));
|
|
|
- }
|
|
|
}
|