Browse Source

feat(meeting): 在分享底部弹窗中添加保存思维导图功能

为思维导图功能添加本地保存选项,新增对应的国际化文本键值。
在分享底部弹窗中增加“保存思维导图”按钮,与现有的“分享思维导图”功能并列。
移除未使用的版本更新服务导入以保持代码整洁。
weicu
lxm 7 months ago
parent
commit
cbffa3b4ad
  1. 1
      lib/core/translations/language/en_us.dart
  2. 1
      lib/core/translations/language/zh_cn.dart
  3. 1
      lib/core/translations/language/zh_hk.dart
  4. 1
      lib/core/translations/language/zh_tw.dart
  5. 21
      lib/modules/meeting/views/bottomSheet/share_bottom_sheet.dart

1
lib/core/translations/language/en_us.dart

@ -657,6 +657,7 @@ const Map<String, String> enUS = {
'Detected that you have permanently denied storage permission. To continue using this feature, please go to app settings to manually enable storage permission.',
// Meeting模块 - 思维导图相关
'saveMindMap': 'Save Mind Map',
'shareMindMap': 'Share Mind Map',
'shareSuccess': 'Share Success',

1
lib/core/translations/language/zh_cn.dart

@ -608,6 +608,7 @@ const Map<String, String> zhCN = {
'检测到您已永久拒绝存储权限。如需继续使用此功能,请前往应用设置中手动开启存储权限。',
// Meeting模块 - 思维导图相关
'saveMindMap': '保存思维导图',
'shareMindMap': '分享思维导图',
'shareSuccess': '分享成功',

1
lib/core/translations/language/zh_hk.dart

@ -609,6 +609,7 @@ const Map<String, String> zhHK = {
'檢測到您已永久拒絕儲存權限。如需繼續使用此功能,請前往應用設定中手動開啟儲存權限。',
// Meeting模块 - 思维导图相关
'saveMindMap': '儲存思維導圖',
'shareMindMap': '分享思維導圖',
'shareSuccess': '分享成功',

1
lib/core/translations/language/zh_tw.dart

@ -609,6 +609,7 @@ const Map<String, String> zhTW = {
'檢測到您已永久拒絕儲存權限。如需繼續使用此功能,請前往應用設定中手動開啟儲存權限。',
// Meeting模块 - 思维导图相关
'saveMindMap': '儲存思維導圖',
'shareMindMap': '分享思維導圖',
'shareSuccess': '分享成功',

21
lib/modules/meeting/views/bottomSheet/share_bottom_sheet.dart

@ -13,7 +13,6 @@ import 'package:share_plus/share_plus.dart';
import 'package:webview_flutter/webview_flutter.dart';
import '../../../../data/services/version_update_service.dart';
import '../../../../data/services/network/dio_manager.dart';
import '../../controllers/meeting_details_controller.dart';
import '../../controllers/mind_map_controller.dart';
@ -102,7 +101,8 @@ class _ShareBottomSheetState extends State<ShareBottomSheet> {
.replaceFirst('https://', '')
.replaceFirst('http://', '');
final result = await SharePlus.instance.share(ShareParams(
final result =
await SharePlus.instance.share(ShareParams(
title: _controller.meetingData.value.title,
subject:
'Voitrans WEB,由DeepSound.Ai提供支持-实时记录会议纪要,多语言翻译。',
@ -120,7 +120,8 @@ class _ShareBottomSheetState extends State<ShareBottomSheet> {
_box([
_shareItem(Icons.copy, 'copyTranscript'.tr, // 对应中文:复制转写
onTap: _controller.meetingDetails.value.tasktype >= 3 &&
_controller.meetingDetails.value.tasktype < 10002
_controller.meetingDetails.value.tasktype <
10002
? () {
Get.back();
_copy(_getAllText());
@ -129,7 +130,8 @@ class _ShareBottomSheetState extends State<ShareBottomSheet> {
_shareItem(Icons.copy, 'copySummary'.tr, // 对应中文:复制总结
isBorder: false,
onTap: _controller.meetingDetails.value.tasktype >= 5 &&
_controller.meetingDetails.value.tasktype < 10001
_controller.meetingDetails.value.tasktype <
10001
? () {
Get.back();
_copy(_markdownToPlainText(
@ -145,9 +147,11 @@ class _ShareBottomSheetState extends State<ShareBottomSheet> {
_share(_controller.meetingData.value.filepath,
'shareMeetingAudio'.tr); // 对应中文:分享会议音频
}),
_shareItem(Icons.message, 'exportTranscript'.tr, // 对应中文:导出转写
_shareItem(
Icons.message, 'exportTranscript'.tr, // 对应中文:导出转写
onTap: _controller.meetingDetails.value.tasktype >= 3 &&
_controller.meetingDetails.value.tasktype < 10002
_controller.meetingDetails.value.tasktype <
10002
? () async {
Get.back();
final tempDir = await getTemporaryDirectory();
@ -161,7 +165,8 @@ class _ShareBottomSheetState extends State<ShareBottomSheet> {
: null),
_shareItem(Icons.article, 'exportSummary'.tr, // 对应中文:导出总结
onTap: _controller.meetingDetails.value.tasktype >= 5 &&
_controller.meetingDetails.value.tasktype < 10001
_controller.meetingDetails.value.tasktype <
10001
? () async {
Get.back();
Get.bottomSheet(
@ -210,7 +215,7 @@ class _ShareBottomSheetState extends State<ShareBottomSheet> {
: null),
_shareItem(
Icons.save_alt,
'保存思维导图',
'saveMindMap'.tr,
onTap: _controller.meetingDetails.value.tasktype >= 5 &&
_controller.meetingDetails.value.tasktype < 10001
? () {

Loading…
Cancel
Save