|
|
@ -6,6 +6,7 @@ import 'package:flutter/material.dart'; |
|
|
import 'package:flutter_easyloading/flutter_easyloading.dart'; |
|
|
import 'package:flutter_easyloading/flutter_easyloading.dart'; |
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
|
import 'package:get/get.dart'; |
|
|
import 'package:get/get.dart'; |
|
|
|
|
|
import 'package:image_gallery_saver_plus/image_gallery_saver_plus.dart'; |
|
|
import 'package:path_provider/path_provider.dart'; |
|
|
import 'package:path_provider/path_provider.dart'; |
|
|
import 'package:share_plus/share_plus.dart'; |
|
|
import 'package:share_plus/share_plus.dart'; |
|
|
import 'package:webview_flutter/webview_flutter.dart'; |
|
|
import 'package:webview_flutter/webview_flutter.dart'; |
|
|
@ -19,6 +20,8 @@ class MindMapController extends GetxController { |
|
|
final double _width = 1.sw - 25.w; |
|
|
final double _width = 1.sw - 25.w; |
|
|
bool isWebViewReady = false; |
|
|
bool isWebViewReady = false; |
|
|
|
|
|
|
|
|
|
|
|
int imageType = 1; |
|
|
|
|
|
|
|
|
late final Worker _summaryNumberListener; |
|
|
late final Worker _summaryNumberListener; |
|
|
|
|
|
|
|
|
@override |
|
|
@override |
|
|
@ -170,18 +173,29 @@ class MindMapController extends GetxController { |
|
|
final String dataUrl = message.message; |
|
|
final String dataUrl = message.message; |
|
|
final String base64Str = dataUrl.split(',').last; |
|
|
final String base64Str = dataUrl.split(',').last; |
|
|
final Uint8List bytes = base64.decode(base64Str); |
|
|
final Uint8List bytes = base64.decode(base64Str); |
|
|
final String fileName = |
|
|
if (imageType == 1) { |
|
|
'${_meetingDetailsController.meetingData.value.title}_mindmap.png'; |
|
|
// 保存图片 |
|
|
final tempDir = await getTemporaryDirectory(); |
|
|
final result = await ImageGallerySaverPlus.saveImage( |
|
|
final File file = File('${tempDir.path}/$fileName'); |
|
|
bytes, |
|
|
await file.writeAsBytes(bytes); |
|
|
quality: 100, |
|
|
final result = await SharePlus.instance.share(ShareParams( |
|
|
); |
|
|
text: 'shareMindMap'.tr, //对应中文:分享思维导图 |
|
|
if (result['isSuccess']) { |
|
|
|
|
|
EasyLoading.showToast('保存成功'); |
|
|
files: [XFile(file.path)], |
|
|
} |
|
|
)); |
|
|
} else { |
|
|
if (result.status == ShareResultStatus.success) { |
|
|
// 分享图片 |
|
|
EasyLoading.showToast('shareSuccess'.tr); //对应中文:分享成功 |
|
|
final String fileName = |
|
|
|
|
|
'${_meetingDetailsController.meetingData.value.title}_mindmap.png'; |
|
|
|
|
|
final tempDir = await getTemporaryDirectory(); |
|
|
|
|
|
final File file = File('${tempDir.path}/$fileName'); |
|
|
|
|
|
await file.writeAsBytes(bytes); |
|
|
|
|
|
final result = await SharePlus.instance.share(ShareParams( |
|
|
|
|
|
text: 'shareMindMap'.tr, //对应中文:分享思维导图 |
|
|
|
|
|
files: [XFile(file.path)], |
|
|
|
|
|
)); |
|
|
|
|
|
if (result.status == ShareResultStatus.success) { |
|
|
|
|
|
EasyLoading.showToast('shareSuccess'.tr); //对应中文:分享成功 |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|