Compare commits

...

7 Commits

Author SHA1 Message Date
cpdl
bd76c29f15 修改bug 2025-03-03 16:05:31 +08:00
cpdl
9998f9b99c 增加方法 2025-03-03 14:50:37 +08:00
cpdl
50bf41df51 ios调整 2025-02-28 14:36:43 +08:00
cpdl
7af14f995c no message 2025-02-28 13:48:48 +08:00
cpdl
3c28242303 no message 2025-02-28 13:33:22 +08:00
cpdl
b443caabc5 增加类型字段 2025-02-28 11:13:08 +08:00
cpdl
50dcfcf495 no message 2025-02-27 18:42:49 +08:00
6 changed files with 72 additions and 8 deletions

View File

@@ -57,5 +57,5 @@ android {
} }
dependencies { dependencies {
implementation 'com.openim:sdkcore:1.0.6' implementation 'com.openim:sdkcore:1.0.8'
} }

View File

@@ -48,7 +48,7 @@ public class MessageManager extends BaseManager {
value(methodCall, "operationID"), value(methodCall, "operationID"),
value(methodCall, "conversationID"), value(methodCall, "conversationID"),
value(methodCall, "clientMsgID"), value(methodCall, "clientMsgID"),
value(methodCall, "content") jsonValue(methodCall, "message")
); );
} }
@@ -388,6 +388,16 @@ public class MessageManager extends BaseManager {
jsonValue(methodCall, "fileElem"))); jsonValue(methodCall, "fileElem")));
} }
public void FetchSurroundingMessages(MethodCall methodCall, MethodChannel.Result result) {
CommonUtil.runMainThreadReturn(result,
Open_im_sdk.createFileMessageByURL(
value(methodCall, "operationID"),
jsonValue(methodCall, "message"),
int2long(methodCall, "before"),
int2long(methodCall, "after")));
}
public void setCustomBusinessListener(MethodCall methodCall, MethodChannel.Result result) { public void setCustomBusinessListener(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.setCustomBusinessListener(new OnCustomBusinessListener()); Open_im_sdk.setCustomBusinessListener(new OnCustomBusinessListener());

View File

@@ -9,6 +9,7 @@ public class MessageManager: BaseServiceManager {
self["setAdvancedMsgListener"] = setAdvancedMsgListener self["setAdvancedMsgListener"] = setAdvancedMsgListener
self["sendMessage"] = sendMessage self["sendMessage"] = sendMessage
self["revokeMessage"] = revokeMessage self["revokeMessage"] = revokeMessage
self["editMessage"] = editMessage
self["deleteMessageFromLocalStorage"] = deleteMessageFromLocalStorage self["deleteMessageFromLocalStorage"] = deleteMessageFromLocalStorage
self["deleteMessageFromLocalAndSvr"] = deleteMessageFromLocalAndSvr self["deleteMessageFromLocalAndSvr"] = deleteMessageFromLocalAndSvr
self["deleteAllMsgFromLocal"] = deleteAllMsgFromLocal self["deleteAllMsgFromLocal"] = deleteAllMsgFromLocal
@@ -47,6 +48,10 @@ public class MessageManager: BaseServiceManager {
self["setMessageLocalEx"] = setMessageLocalEx self["setMessageLocalEx"] = setMessageLocalEx
self["setAppBadge"] = setAppBadge self["setAppBadge"] = setAppBadge
self["fetchSurroundingMessages"] = fetchSurroundingMessages
self["sendMessageNotOss"] = sendMessageNotOss self["sendMessageNotOss"] = sendMessageNotOss
self["createImageMessageByURL"] = createImageMessageByURL self["createImageMessageByURL"] = createImageMessageByURL
self["createSoundMessageByURL"] = createSoundMessageByURL self["createSoundMessageByURL"] = createSoundMessageByURL
@@ -72,6 +77,10 @@ public class MessageManager: BaseServiceManager {
Open_im_sdkRevokeMessage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"],methodCall[string: "clientMsgID"]) Open_im_sdkRevokeMessage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"],methodCall[string: "clientMsgID"])
} }
func editMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkEditMessage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"],methodCall[string: "clientMsgID"],methodCall[jsonString: "message"])
}
func deleteMessageFromLocalStorage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){ func deleteMessageFromLocalStorage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkDeleteMessageFromLocalStorage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"],methodCall[string: "clientMsgID"]) Open_im_sdkDeleteMessageFromLocalStorage(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"],methodCall[string: "clientMsgID"])
} }
@@ -250,6 +259,13 @@ public class MessageManager: BaseServiceManager {
Open_im_sdkSetCustomBusinessListener(CustomBusinessListener(channel: channel)) Open_im_sdkSetCustomBusinessListener(CustomBusinessListener(channel: channel))
callBack(result) callBack(result)
} }
func fetchSurroundingMessages(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkFetchSurroundingMessages(BaseCallback(result: result),methodCall[string: "operationID"], methodCall[jsonString: "message"], methodCall[int: "before"], methodCall[int: "after"])
}
} }
public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol { public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol {
@@ -304,6 +320,13 @@ public class AdvancedMsgListener: NSObject, Open_im_sdk_callbackOnAdvancedMsgLis
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onNewRecvMessageRevoked", errCode: nil, errMsg: nil, data: values) CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onNewRecvMessageRevoked", errCode: nil, errMsg: nil, data: values)
} }
public func onNewRecvMessageEdited(_ messageEdited: String?) {
var values: [String: Any] = [:]
values["id"] = id
values["messageEdited"] = messageEdited
CommonUtil.emitEvent(channel: channel, method: "advancedMsgListener", type: "onNewRecvMessageEdited", errCode: nil, errMsg: nil, data: values)
}
public func onRecvC2CReadReceipt(_ msgReceiptList: String?) { public func onRecvC2CReadReceipt(_ msgReceiptList: String?) {
var values: [String: Any] = [:] var values: [String: Any] = [:]
values["id"] = id values["id"] = id

View File

@@ -4,7 +4,7 @@
# #
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'flutter_openim_sdk' s.name = 'flutter_openim_sdk'
s.version = '0.0.5' s.version = '0.0.7'
s.summary = 'A new Flutter project.' s.summary = 'A new Flutter project.'
s.description = <<-DESC s.description = <<-DESC
A new Flutter project. A new Flutter project.
@@ -19,7 +19,7 @@ A new Flutter project.
#s.ios.vendored_frameworks = 'frameworks/*.xcframework' #s.ios.vendored_frameworks = 'frameworks/*.xcframework'
#s.vendored_frameworks = 'frameworks/*.xcframework' #s.vendored_frameworks = 'frameworks/*.xcframework'
s.dependency 'openim_sdk_core_ios','0.5.0' s.dependency 'openim_sdk_core_ios','0.6.0'
s.static_framework = true s.static_framework = true
s.library = 'resolv' s.library = 'resolv'

View File

@@ -556,7 +556,7 @@ class MessageManager {
required String conversationID, required String conversationID,
required String clientMsgID, required String clientMsgID,
String? operationID, String? operationID,
required String? content, required Message message,
}) => }) =>
_channel.invokeMethod( _channel.invokeMethod(
'editMessage', 'editMessage',
@@ -564,7 +564,7 @@ class MessageManager {
'conversationID': conversationID, 'conversationID': conversationID,
'clientMsgID': clientMsgID, 'clientMsgID': clientMsgID,
"operationID": Utils.checkOperationID(operationID), "operationID": Utils.checkOperationID(operationID),
'content': content, 'message': message.toJson(),
})); }));
/// Mark messages as read /// Mark messages as read
@@ -816,6 +816,28 @@ class MessageManager {
})); }));
} }
/// Fetch Surrounding Messages
/// [message] Message content
/// [before] message index - before
/// [after] message index - after
/// [operationID] Operation ID
Future<List<Message>> FetchSurroundingMessages({
required Message message,
int? before,
int? after,
String? operationID,
}) =>
_channel
.invokeMethod(
'fetchSurroundingMessages',
_buildParam({
'message': message.toJson(),
'before': before ?? 0,
'after': after ?? 0,
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toList(value, (map) => Message.fromJson(map)));
static Map _buildParam(Map<String, dynamic> param) { static Map _buildParam(Map<String, dynamic> param) {
param["ManagerName"] = "messageManager"; param["ManagerName"] = "messageManager";
param = Utils.cleanMap(param); param = Utils.cleanMap(param);

View File

@@ -1149,9 +1149,14 @@ class EditedInfo {
/// Conversation type [ConversationType] /// Conversation type [ConversationType]
int? sessionType; int? sessionType;
/// Message contentType
int? contentType;
/// Message content /// Message content
String? content; String? content;
EditedInfo({ EditedInfo({
this.editerID, this.editerID,
this.clientMsgID, this.clientMsgID,
@@ -1160,6 +1165,7 @@ class EditedInfo {
this.sourceMessageSendID, this.sourceMessageSendID,
this.sourceMessageSenderNickname, this.sourceMessageSenderNickname,
this.sessionType, this.sessionType,
this.contentType,
this.content, this.content,
}); });
@@ -1171,7 +1177,9 @@ class EditedInfo {
sourceMessageSendID = json['sourceMessageSendID']; sourceMessageSendID = json['sourceMessageSendID'];
sourceMessageSenderNickname = json['sourceMessageSenderNickname']; sourceMessageSenderNickname = json['sourceMessageSenderNickname'];
sessionType = json['sessionType']; sessionType = json['sessionType'];
contentType = json['contentType'];
content = json['content']; content = json['content'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@@ -1183,6 +1191,7 @@ class EditedInfo {
data['sourceMessageSendID'] = this.sourceMessageSendID; data['sourceMessageSendID'] = this.sourceMessageSendID;
data['sourceMessageSenderNickname'] = this.sourceMessageSenderNickname; data['sourceMessageSenderNickname'] = this.sourceMessageSenderNickname;
data['sessionType'] = this.sessionType; data['sessionType'] = this.sessionType;
data['contentType'] = this.contentType;
data['content'] = this.content; data['content'] = this.content;
return data; return data;
} }