parent
599decfd38
commit
3bcc338945
@ -0,0 +1,123 @@ |
|||||||
|
import 'dart:convert'; |
||||||
|
import 'dart:io'; |
||||||
|
|
||||||
|
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart'; |
||||||
|
|
||||||
|
extension MessageManagerV2 on MessageManager { |
||||||
|
Message createTextMessageV2({required String text}) { |
||||||
|
return _createMessage(contentType: MessageType.text)..content = text; |
||||||
|
} |
||||||
|
|
||||||
|
Message createTextAtMessageV2({ |
||||||
|
required String text, |
||||||
|
required List<String> atUidList, |
||||||
|
}) { |
||||||
|
var atElem = AtElem( |
||||||
|
text: text, |
||||||
|
atUserList: atUidList, |
||||||
|
isAtSelf: false, |
||||||
|
); |
||||||
|
return _createMessage(contentType: MessageType.at_text) |
||||||
|
..forceList = atUidList |
||||||
|
..atElem = atElem |
||||||
|
..content = jsonEncode(atElem); |
||||||
|
} |
||||||
|
|
||||||
|
Message createImageMessageV2({ |
||||||
|
required String imagePath, |
||||||
|
required String mineType, |
||||||
|
required int size, |
||||||
|
required int width, |
||||||
|
required int height, |
||||||
|
}) { |
||||||
|
return _createMessage(contentType: MessageType.picture) |
||||||
|
..pictureElem = PictureElem( |
||||||
|
sourcePath: imagePath, |
||||||
|
sourcePicture: PictureInfo( |
||||||
|
type: mineType, |
||||||
|
size: size, |
||||||
|
width: width, |
||||||
|
height: height, |
||||||
|
), |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
Message createSoundMessageV2({ |
||||||
|
required String soundPath, |
||||||
|
required int duration, |
||||||
|
required int dataSize, |
||||||
|
}) { |
||||||
|
return _createMessage(contentType: MessageType.voice) |
||||||
|
..soundElem = SoundElem( |
||||||
|
soundPath: soundPath, |
||||||
|
dataSize: dataSize, |
||||||
|
duration: duration, |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
Message createVideoMessageV2({ |
||||||
|
required String videoPath, |
||||||
|
required String videoType, |
||||||
|
required int videoSize, |
||||||
|
required int duration, |
||||||
|
required String snapshotPath, |
||||||
|
required int snapshotSize, |
||||||
|
required int snapshotWidth, |
||||||
|
required int snapshotHeight, |
||||||
|
}) { |
||||||
|
return _createMessage(contentType: MessageType.video) |
||||||
|
..videoElem = VideoElem( |
||||||
|
videoPath: videoPath, |
||||||
|
videoSize: videoSize, |
||||||
|
videoType: videoType, |
||||||
|
duration: duration, |
||||||
|
snapshotPath: snapshotPath, |
||||||
|
snapshotSize: snapshotSize, |
||||||
|
snapshotHeight: snapshotHeight, |
||||||
|
snapshotWidth: snapshotWidth, |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
Message createFileMessageV2({ |
||||||
|
required String filePath, |
||||||
|
required String fileName, |
||||||
|
required int fileSize, |
||||||
|
}) { |
||||||
|
return _createMessage(contentType: MessageType.file) |
||||||
|
..fileElem = FileElem( |
||||||
|
fileName: fileName, |
||||||
|
filePath: filePath, |
||||||
|
fileSize: fileSize, |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
/* Message createMergerMessageV2({ |
||||||
|
required List<Message> messageList, |
||||||
|
required String title, |
||||||
|
required List<String> summaryList, |
||||||
|
}) { |
||||||
|
var message = _createMessage(contentType: MessageType.merger); |
||||||
|
return message; |
||||||
|
} |
||||||
|
|
||||||
|
Message createForwardMessageV2({required List<Message> messageList}) { |
||||||
|
var message = _createMessage(); |
||||||
|
return message; |
||||||
|
}*/ |
||||||
|
|
||||||
|
static Message _createMessage({required contentType}) { |
||||||
|
var now = DateTime.now(); |
||||||
|
return Message( |
||||||
|
clientMsgID: 'flutter_client_${now.microsecondsSinceEpoch}', |
||||||
|
createTime: now.millisecond ~/ 1000, |
||||||
|
sendTime: now.millisecond ~/ 1000, |
||||||
|
// sessionType: 0,//请求为单人会话1,请求为群聊会话2 |
||||||
|
msgFrom: 100, |
||||||
|
contentType: contentType, |
||||||
|
status: MessageStatus.sending, |
||||||
|
platformID: Platform.isAndroid ? IMPlatform.android : IMPlatform.ios, |
||||||
|
sendID: OpenIM.iMManager.uid, |
||||||
|
senderNickName: OpenIM.iMManager.uInfo.name, |
||||||
|
); |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue