From ee0cea6c2b1f6c44fde2051bae82c4caf5187810 Mon Sep 17 00:00:00 2001 From: cpdl Date: Wed, 7 May 2025 17:35:06 +0800 Subject: [PATCH] no message --- example/lib/main.dart | 15 +++++++++++++++ windows/src/common/ZegoDataUtils.h | 2 +- windows/src/common/services/MessageManager.cpp | 10 ++++++++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 92d7ce9..f612829 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -18,6 +18,20 @@ class MyApp extends StatefulWidget { } class _MyAppState extends State { + Future send() async { + OpenIM.iMManager.messageManager + .sendMessage( + userID: "724f91aceb434a28a1cd10f5564b2c68", + message: await OpenIM.iMManager.messageManager + .createTextMessage(text: 'hello openim'), + offlinePushInfo: OfflinePushInfo(title: 'title', desc: 'desc')) + .then((value) { + print('send success'); + }).catchError((error) { + print('send error'); + }); + } + @override void initState() { super.initState(); @@ -39,6 +53,7 @@ class _MyAppState extends State { .then((value) { List list = []; OpenIM.iMManager.userManager.subscribeUsersStatus(list); + send(); OpenIM.iMManager.conversationManager .getAllConversationList() .then((value) { diff --git a/windows/src/common/ZegoDataUtils.h b/windows/src/common/ZegoDataUtils.h index 66b15d9..c31079c 100644 --- a/windows/src/common/ZegoDataUtils.h +++ b/windows/src/common/ZegoDataUtils.h @@ -32,5 +32,5 @@ ZFMap zego_value_get_map(flutter::EncodableValue value); ZFArray zego_value_get_list(flutter::EncodableValue value); std::string map_2_json(const flutter::EncodableMap& map); std::string value_2_json(flutter::EncodableValue value); - +nlohmann::json EncodableValueToJson(const flutter::EncodableValue& value); diff --git a/windows/src/common/services/MessageManager.cpp b/windows/src/common/services/MessageManager.cpp index a0273a8..cc13944 100644 --- a/windows/src/common/services/MessageManager.cpp +++ b/windows/src/common/services/MessageManager.cpp @@ -131,7 +131,10 @@ void MessageManagerService::sendMessage( auto channelID = zego_value_get_string(arguments->at(flutter::EncodableValue("channelID"))); auto offlinePushInfo = value_2_json(arguments->at(flutter::EncodableValue("offlinePushInfo"))); auto isOnlineOnly = zego_value_get_bool(arguments->at(flutter::EncodableValue("isOnlineOnly"))); - auto clientMsgID = zego_value_get_string(arguments->at(flutter::EncodableValue("clientMsgID"))); + auto json = EncodableValueToJson(arguments->at(flutter::EncodableValue("message"))); + auto clientMsgID = json["clientMsgID"].get(); + + char* operationID_cs = const_cast(operationID.c_str()); char* message_cs = const_cast(message.c_str()); @@ -780,8 +783,11 @@ void MessageManagerService::sendMessageNotOss( auto groupID = zego_value_get_string(arguments->at(flutter::EncodableValue("groupID"))); auto channelId = zego_value_get_string(arguments->at(flutter::EncodableValue("channelId"))); auto offlinePushInfo = value_2_json(arguments->at(flutter::EncodableValue("offlinePushInfo"))); - auto clientMsgID = zego_value_get_string(arguments->at(flutter::EncodableValue("clientMsgID"))); auto isOnlineOnly = zego_value_get_bool(arguments->at(flutter::EncodableValue("isOnlineOnly"))); + + auto json = EncodableValueToJson(arguments->at(flutter::EncodableValue("message"))); + auto clientMsgID = json["clientMsgID"].get(); + char* operationID_cs = const_cast(operationID.c_str()); char* message_cs = const_cast(message.c_str()); char* userID_cs = const_cast(userID.c_str());