revokeMessageWithMessage method
- {required V2TimMessage v2TIMMessage}
统一调用最新的获取历史消息接口
Implementation
// Future<V2TimValueCallback<List<V2TimMessage>>> getHistoryMessageListWithOption({
// required V2TIMMessageListGetOption option
// }) async {
// if (option.userID == null && option.groupID == null) {
// print('userID and groupID cannot be null at the same time');
// return V2TimValueCallback<List<V2TimMessage>>.fromBool(false, 'userID and groupID cannot be null at the same time');
// }
// if (option.userID != null && option.userID!.isNotEmpty && option.groupID != null && option.groupID!.isNotEmpty) {
// print('userID and groupID cannot set at the same time');
// return V2TimValueCallback<List<V2TimMessage>>.fromBool(false, 'userID and groupID cannot set at the same time');
// }
// String convID = '';
// TIMConvType convType = TIMConvType.kTIMConv_Invalid;
// if (option.userID != null && option.userID!.isNotEmpty) {
// convID = option.userID!;
// convType = TIMConvType.kTIMConv_C2C;
// } else {
// convID = option.groupID!;
// convType = TIMConvType.kTIMConv_Group;
// }
// String userData = Tools.generateUserData('getHistoryMessageListWithOption');
// Completer<V2TimValueCallback<List<V2TimMessage>>> completer = Completer();
// NativeLibraryManager.timValueCallback2Future(userData, completer);
// Pointer<Char> pConvID = Tools.string2PointerChar(convID);
// Pointer<Char> pOption = Tools.string2PointerChar(json.encode(option.toJson()));
// Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
// NativeLibraryManager.bindings.DartGetMessageList(pConvID, convType, pOption, pUserData);
// return completer.future;
// }
Future<V2TimCallback> revokeMessageWithMessage({required V2TimMessage v2TIMMessage}) async {
if (v2TIMMessage.status != MessageStatus.V2TIM_MSG_STATUS_SEND_SUCC) {
print('revokeMessageWithMessage, message status must be V2TIM_MSG_STATUS_SEND_SUCC');
return V2TimCallback.fromBool(false, 'message status must be V2TIM_MSG_STATUS_SEND_SUCC');
}
String convID = v2TIMMessage.messageConvID;
TIMConvType convType = v2TIMMessage.messageConvType;
String userData = Tools.generateUserData('revokeMessageWithMessage');
Completer<V2TimCallback> completer = Completer();
NativeLibraryManager.timCallback2Future(userData, completer);
Pointer<Char> pConvID = Tools.string2PointerChar(convID);
Pointer<Char> pMessage = Tools.string2PointerChar(json.encode(v2TIMMessage.toJson()));
Pointer<Void> pUserData = Tools.string2PointerVoid(userData);
NativeLibraryManager.bindings.DartRevokeMessage(pConvID, convType, pMessage, pUserData);
return completer.future;
}