소스 검색

增加文件复制下载地址

master
ZCM 5 년 전
부모
커밋
ac1aaef315
10개의 변경된 파일82개의 추가작업 그리고 25개의 파일을 삭제
  1. +2
    -1
      i18n/en-US.json
  2. +2
    -1
      i18n/ja-JP.json
  3. +2
    -1
      i18n/ko-KR.json
  4. +2
    -1
      i18n/vi-VN.json
  5. +2
    -1
      i18n/zh-CN.json
  6. +2
    -1
      i18n/zh-HK.json
  7. +24
    -13
      lib/chat/ChatPageItem.dart
  8. +20
    -6
      lib/chat/group_chat_item.dart
  9. +17
    -0
      lib/generated/i18n.dart
  10. +9
    -0
      lib/utils/upload_util.dart

+ 2
- 1
i18n/en-US.json 파일 보기

@@ -1223,5 +1223,6 @@
"man_retranslate":"人工重译", "man_retranslate":"人工重译",
"robot_retranslate":"机器重译", "robot_retranslate":"机器重译",
"see_original":"查看原文", "see_original":"查看原文",
"forward":"Forward"
"forward":"Forward",
"copy_download_url":"复制下载地址"
} }

+ 2
- 1
i18n/ja-JP.json 파일 보기

@@ -1223,5 +1223,6 @@
"man_retranslate":"人工重译", "man_retranslate":"人工重译",
"robot_retranslate":"机器重译", "robot_retranslate":"机器重译",
"see_original":"查看原文", "see_original":"查看原文",
"forward":"转发"
"forward":"转发",
"copy_download_url":"复制下载地址"
} }

+ 2
- 1
i18n/ko-KR.json 파일 보기

@@ -1223,5 +1223,6 @@
"man_retranslate":"人工重译", "man_retranslate":"人工重译",
"robot_retranslate":"机器重译", "robot_retranslate":"机器重译",
"see_original":"查看原文", "see_original":"查看原文",
"forward":"转发"
"forward":"转发",
"copy_download_url":"复制下载地址"
} }

+ 2
- 1
i18n/vi-VN.json 파일 보기

@@ -1223,5 +1223,6 @@
"man_retranslate":"人工重译", "man_retranslate":"人工重译",
"robot_retranslate":"机器重译", "robot_retranslate":"机器重译",
"see_original":"查看原文", "see_original":"查看原文",
"forward":"转发"
"forward":"转发",
"copy_download_url":"复制下载地址"
} }

+ 2
- 1
i18n/zh-CN.json 파일 보기

@@ -1223,5 +1223,6 @@
"man_retranslate":"人工重译", "man_retranslate":"人工重译",
"robot_retranslate":"机器重译", "robot_retranslate":"机器重译",
"see_original":"查看原文", "see_original":"查看原文",
"forward":"转发"
"forward":"转发",
"copy_download_url":"复制下载地址"
} }

+ 2
- 1
i18n/zh-HK.json 파일 보기

@@ -1223,5 +1223,6 @@
"man_retranslate":"人工重譯", "man_retranslate":"人工重譯",
"robot_retranslate":"機器重譯", "robot_retranslate":"機器重譯",
"see_original":"查看原文", "see_original":"查看原文",
"forward":"转发"
"forward":"转发",
"copy_download_url":"複製下載地址"
} }

+ 24
- 13
lib/chat/ChatPageItem.dart 파일 보기

@@ -253,8 +253,6 @@ class _ChatPageItemState extends State<ChatPageItem>
} else { } else {
///todo 翻译管家系统通知消息 ///todo 翻译管家系统通知消息
if (type == ChatType.GroupChatNoticeType.value) { if (type == ChatType.GroupChatNoticeType.value) {
var res = GroupChatNotice.fromBuffer(widget.msg.msgContent); var res = GroupChatNotice.fromBuffer(widget.msg.msgContent);
@@ -621,21 +619,21 @@ class _ChatPageItemState extends State<ChatPageItem>
Widget wrapItemWithMenu(item) { Widget wrapItemWithMenu(item) {
List<Function> actionsFunc = []; List<Function> actionsFunc = [];
List<String> actions = [ List<String> actions = [
I18n.of(context).delete,
I18n.of(context).forward,
I18n.of(context).reply, I18n.of(context).reply,
I18n.of(context).forward
I18n.of(context).delete,
]; ];
actionsFunc.add(() { actionsFunc.add(() {
MessageMgr().emit('Delete Select Message', widget.msg);
print('转发消息');
AppNavigator.pushForwardPage(context, widget.msg);
}); });
actionsFunc.add(() { actionsFunc.add(() {
print('发送引用的消息'); print('发送引用的消息');
MessageMgr().emit('Reply Select Message', widget.msg); MessageMgr().emit('Reply Select Message', widget.msg);
}); });
actionsFunc.add(() { actionsFunc.add(() {
print('转发消息');
AppNavigator.pushForwardPage(context, widget.msg);
MessageMgr().emit('Delete Select Message', widget.msg);
}); });
if (widget.msg.msgType == ChatType.TextChatType.value) { if (widget.msg.msgType == ChatType.TextChatType.value) {
@@ -649,6 +647,14 @@ class _ChatPageItemState extends State<ChatPageItem>
}); });
} }
//如果是文件增加复制下载地址
if (widget.msg.msgType == ChatType.FileChatType.value) {
actions.insert(0, I18n.of(context).copy_download_url);
actionsFunc.insert(0, () {
UploadUtil().copyFileUrl(widget.msg, context);
});
}
if (widget.msg.msgType == ChatType.ShortVoiceChatType.value) { if (widget.msg.msgType == ChatType.ShortVoiceChatType.value) {
var soundPlayMode = var soundPlayMode =
Provider.of<KeyboardIndexProvider>(context).soundPlayMode; Provider.of<KeyboardIndexProvider>(context).soundPlayMode;
@@ -663,7 +669,7 @@ class _ChatPageItemState extends State<ChatPageItem>
}); });
} }
// String date2 = DateTime.fromMillisecondsSinceEpoch(widget.msg.time).toString(); // String date2 = DateTime.fromMillisecondsSinceEpoch(widget.msg.time).toString();
return WPopupMenu(
return WPopupMenu(
child: item, child: item,
actions: actions, actions: actions,
onLongPressStart: () { onLongPressStart: () {
@@ -830,14 +836,17 @@ class _ChatPageItemState extends State<ChatPageItem>
if (transTag == 1) { if (transTag == 1) {
//机器翻译中 //机器翻译中
userTranslateWidget = _translateItemWidget(0xe670, I18n.of(context).man_retranslate, null);
userTranslateWidget =
_translateItemWidget(0xe670, I18n.of(context).man_retranslate, null);
machineTranslateWidget = machineTranslateWidget =
_translateItemWidget(0xe671, I18n.of(context).robotTranslate, null); _translateItemWidget(0xe671, I18n.of(context).robotTranslate, null);
} else if (transTag == 2) { } else if (transTag == 2) {
//人工翻译中 //人工翻译中
userTranslateWidget = _translateItemWidget(0xe670, I18n.of(context).ManTranslate, null);
machineTranslateWidget = _translateItemWidget(0xe671, I18n.of(context).robot_retranslate, () {
userTranslateWidget =
_translateItemWidget(0xe670, I18n.of(context).ManTranslate, null);
machineTranslateWidget =
_translateItemWidget(0xe671, I18n.of(context).robot_retranslate, () {
setState(() { setState(() {
curTextType += 1; curTextType += 1;
curTextType %= textList.length; curTextType %= textList.length;
@@ -889,7 +898,8 @@ class _ChatPageItemState extends State<ChatPageItem>
}); });
} }
}); });
machineTranslateWidget = _translateItemWidget(0xe671, I18n.of(context).robot_retranslate, () {
machineTranslateWidget =
_translateItemWidget(0xe671, I18n.of(context).robot_retranslate, () {
setState(() { setState(() {
curTextType += 1; curTextType += 1;
curTextType %= textList.length; curTextType %= textList.length;
@@ -944,7 +954,8 @@ class _ChatPageItemState extends State<ChatPageItem>
)) ))
], ],
))); )));
machineTranslateWidget = _translateItemWidget(0xe675, I18n.of(context).see_original, () {
machineTranslateWidget =
_translateItemWidget(0xe675, I18n.of(context).see_original, () {
setState(() { setState(() {
curTextType = textList.length - 1; curTextType = textList.length - 1;
}); });


+ 20
- 6
lib/chat/group_chat_item.dart 파일 보기

@@ -563,11 +563,12 @@ class _GroupChatPageItemState extends State<GroupChatPageItem>
Widget wrapItemWithMenu(item) { Widget wrapItemWithMenu(item) {
List<Function> actionsFunc = []; List<Function> actionsFunc = [];
List<String> actions = [I18n.of(context).delete, I18n.of(context).reply,I18n.of(context).forward];
List<String> actions = [
I18n.of(context).reply,
I18n.of(context).forward,
I18n.of(context).delete,
];
actionsFunc.add(() {
MessageMgr().emit('Delete Select Message', widget.msg);
});
actionsFunc.add(() { actionsFunc.add(() {
print('发送引用的消息'); print('发送引用的消息');
MessageMgr().emit('Reply Select Message', widget.msg); MessageMgr().emit('Reply Select Message', widget.msg);
@@ -576,6 +577,9 @@ class _GroupChatPageItemState extends State<GroupChatPageItem>
print('转发消息'); print('转发消息');
AppNavigator.pushForwardPage(context, widget.msg); AppNavigator.pushForwardPage(context, widget.msg);
}); });
actionsFunc.add(() {
MessageMgr().emit('Delete Select Message', widget.msg);
});
if (widget.msg.msgType == ChatType.TextChatType.value) { if (widget.msg.msgType == ChatType.TextChatType.value) {
actions.insert(0, I18n.of(context).copy); actions.insert(0, I18n.of(context).copy);
@@ -587,6 +591,15 @@ class _GroupChatPageItemState extends State<GroupChatPageItem>
Clipboard.setData(clipboardData); Clipboard.setData(clipboardData);
}); });
} }
//如果是文件增加复制下载地址
if (widget.msg.msgType == ChatType.FileChatType.value) {
actions.insert(0, I18n.of(context).copy_download_url);
actionsFunc.insert(0, () {
UploadUtil().copyFileUrl(widget.msg, context);
});
}
if (widget.msg.msgType == ChatType.ShortVoiceChatType.value) { if (widget.msg.msgType == ChatType.ShortVoiceChatType.value) {
var soundPlayMode = var soundPlayMode =
Provider.of<KeyboardIndexProvider>(context).soundPlayMode; Provider.of<KeyboardIndexProvider>(context).soundPlayMode;
@@ -1308,8 +1321,9 @@ class _GroupChatPageItemState extends State<GroupChatPageItem>
onTap: () { onTap: () {
AppNavigator.pushProfileInfoPage(context, memberModel.memberId, AppNavigator.pushProfileInfoPage(context, memberModel.memberId,
fromWhere: 2, fromWhere: 2,
addMode:
!FriendListMgr().isMyFriend(memberModel.memberId) ? 1 : 0);
addMode: !FriendListMgr().isMyFriend(memberModel.memberId)
? 1
: 0);
}, },
onLongPress: () { onLongPress: () {
print('long press user'); print('long press user');


+ 17
- 0
lib/generated/i18n.dart 파일 보기

@@ -2483,6 +2483,8 @@ class I18n implements WidgetsLocalizations {
String get see_original => "查看原文"; String get see_original => "查看原文";
/// "Forward" /// "Forward"
String get forward => "Forward"; String get forward => "Forward";
/// "复制下载地址"
String get copy_download_url => "复制下载地址";
} }


class _I18n_en_US extends I18n { class _I18n_en_US extends I18n {
@@ -6170,6 +6172,9 @@ class _I18n_vi_VN extends I18n {
/// "转发" /// "转发"
@override @override
String get forward => "转发"; String get forward => "转发";
/// "复制下载地址"
@override
String get copy_download_url => "复制下载地址";


@override @override
TextDirection get textDirection => TextDirection.ltr; TextDirection get textDirection => TextDirection.ltr;
@@ -9853,6 +9858,9 @@ class _I18n_zh_HK extends I18n {
/// "转发" /// "转发"
@override @override
String get forward => "转发"; String get forward => "转发";
/// "複製下載地址"
@override
String get copy_download_url => "複製下載地址";


@override @override
TextDirection get textDirection => TextDirection.ltr; TextDirection get textDirection => TextDirection.ltr;
@@ -13536,6 +13544,9 @@ class _I18n_zh_CN extends _I18n_zh_HK {
/// "转发" /// "转发"
@override @override
String get forward => "转发"; String get forward => "转发";
/// "复制下载地址"
@override
String get copy_download_url => "复制下载地址";


@override @override
TextDirection get textDirection => TextDirection.ltr; TextDirection get textDirection => TextDirection.ltr;
@@ -17219,6 +17230,9 @@ class _I18n_ko_KR extends I18n {
/// "转发" /// "转发"
@override @override
String get forward => "转发"; String get forward => "转发";
/// "复制下载地址"
@override
String get copy_download_url => "复制下载地址";


@override @override
TextDirection get textDirection => TextDirection.ltr; TextDirection get textDirection => TextDirection.ltr;
@@ -20902,6 +20916,9 @@ class _I18n_ja_JP extends I18n {
/// "转发" /// "转发"
@override @override
String get forward => "转发"; String get forward => "转发";
/// "复制下载地址"
@override
String get copy_download_url => "复制下载地址";


@override @override
TextDirection get textDirection => TextDirection.ltr; TextDirection get textDirection => TextDirection.ltr;


+ 9
- 0
lib/utils/upload_util.dart 파일 보기

@@ -10,6 +10,8 @@ import 'package:chat/utils/file_cache_mgr.dart';
import 'package:convert/convert.dart'; import 'package:convert/convert.dart';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
import 'package:crypto/crypto.dart'; import 'package:crypto/crypto.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'dart:async'; import 'dart:async';
import 'package:http_parser/http_parser.dart'; import 'package:http_parser/http_parser.dart';
import 'package:chat/utils/MessageMgr.dart'; import 'package:chat/utils/MessageMgr.dart';
@@ -187,6 +189,13 @@ class UploadUtil {
'downloadchatfile?targetid=$sessionid&channeltype=$channelType&userid=${UserData().basicInfo.userId}&fileid=$imgData&sign=$sign'; 'downloadchatfile?targetid=$sessionid&channeltype=$channelType&userid=${UserData().basicInfo.userId}&fileid=$imgData&sign=$sign';
} }
copyFileUrl(MsgModel msg, BuildContext context) {
var url = getFullUrl(msg.extraFile, msg.sessionId, msg.channelType);
ClipboardData clipboardData = new ClipboardData(text: url);
Clipboard.setData(clipboardData);
showToast(I18n.of(context).successful_copy);
}
Future downloadFile(MsgModel msg, {CancelToken cancelToken}) async { Future downloadFile(MsgModel msg, {CancelToken cancelToken}) async {
Response response; Response response;


불러오는 중...
취소
저장