Upgrade
This commit is contained in:
parent
6edf9b74fa
commit
d5e3947878
@ -6,6 +6,11 @@
|
|||||||
4.ConverstaionInfo new add isNotInGroup field</br>
|
4.ConverstaionInfo new add isNotInGroup field</br>
|
||||||
5.New at type</br>
|
5.New at type</br>
|
||||||
6.New work moments</br>
|
6.New work moments</br>
|
||||||
|
7.New global search</br>
|
||||||
|
8.New getHistoryMessageListReverse method</br>
|
||||||
|
9.New getAtAllTag method</br>
|
||||||
|
10.New resetConversationGroupAtType method</br>
|
||||||
|
11.New searchGroups method</br>
|
||||||
|
|
||||||
## 2.0.0+5
|
## 2.0.0+5
|
||||||
|
|
||||||
|
@ -41,5 +41,5 @@ android {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'io.openim:client-sdk:2.0.42@aar'
|
implementation 'io.openim:client-sdk:2.0.45@aar'
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ package io.openim.flutter_openim_sdk.listener;
|
|||||||
import io.openim.flutter_openim_sdk.util.CommonUtil;
|
import io.openim.flutter_openim_sdk.util.CommonUtil;
|
||||||
|
|
||||||
public class OnSignalingListener implements open_im_sdk_callback.OnSignalingListener {
|
public class OnSignalingListener implements open_im_sdk_callback.OnSignalingListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInvitationCancelled(String s) {
|
public void onInvitationCancelled(String s) {
|
||||||
CommonUtil.emitEvent("signalingListener", "onInvitationCancelled", s);
|
CommonUtil.emitEvent("signalingListener", "onInvitationCancelled", s);
|
||||||
@ -37,4 +38,9 @@ public class OnSignalingListener implements open_im_sdk_callback.OnSignalingList
|
|||||||
public void onReceiveNewInvitation(String s) {
|
public void onReceiveNewInvitation(String s) {
|
||||||
CommonUtil.emitEvent("signalingListener", "onReceiveNewInvitation", s);
|
CommonUtil.emitEvent("signalingListener", "onReceiveNewInvitation", s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onHangUp(String s) {
|
||||||
|
CommonUtil.emitEvent("signalingListener", "onHangUp", s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -142,4 +142,16 @@ public class ConversationManager extends BaseManager {
|
|||||||
value(methodCall, "operationID")
|
value(methodCall, "operationID")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void resetConversationGroupAtType(MethodCall methodCall, MethodChannel.Result result) {
|
||||||
|
Open_im_sdk.resetConversationGroupAtType(
|
||||||
|
new OnBaseListener(result),
|
||||||
|
value(methodCall, "operationID"),
|
||||||
|
value(methodCall, "conversationID")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getAtAllTag(MethodCall methodCall, MethodChannel.Result result) {
|
||||||
|
CommonUtil.runMainThreadReturn(result, Open_im_sdk.getAtAllTag());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -183,4 +183,11 @@ public class GroupManager extends BaseManager {
|
|||||||
value(methodCall, "groupNickname")
|
value(methodCall, "groupNickname")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void searchGroups(MethodCall methodCall, MethodChannel.Result result) {
|
||||||
|
Open_im_sdk.searchGroups(new OnBaseListener(result),
|
||||||
|
value(methodCall, "operationID"),
|
||||||
|
jsonValue(methodCall, "searchParam")
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
@ -381,4 +381,12 @@ public class MessageManager extends BaseManager {
|
|||||||
value(methodCall, "groupID")
|
value(methodCall, "groupID")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getHistoryMessageListReverse(MethodCall methodCall, MethodChannel.Result result) {
|
||||||
|
Open_im_sdk.getHistoryMessageListReverse(
|
||||||
|
new OnBaseListener(result),
|
||||||
|
value(methodCall, "operationID"),
|
||||||
|
jsonValue(methodCall)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import open_im_sdk.Open_im_sdk;
|
|||||||
|
|
||||||
public class WorkMomentsManager extends BaseManager {
|
public class WorkMomentsManager extends BaseManager {
|
||||||
|
|
||||||
void setWorkMomentsListener(MethodCall methodCall, MethodChannel.Result result) {
|
public void setWorkMomentsListener(MethodCall methodCall, MethodChannel.Result result) {
|
||||||
Open_im_sdk.setWorkMomentsListener(new OnWorkMomentsListener());
|
Open_im_sdk.setWorkMomentsListener(new OnWorkMomentsListener());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,8 @@ public class ConversationManager: BaseServiceManager {
|
|||||||
self["setOneConversationPrivateChat"] = setOneConversationPrivateChat
|
self["setOneConversationPrivateChat"] = setOneConversationPrivateChat
|
||||||
self["deleteConversationFromLocalAndSvr"] = deleteConversationFromLocalAndSvr
|
self["deleteConversationFromLocalAndSvr"] = deleteConversationFromLocalAndSvr
|
||||||
self["deleteAllConversationFromLocal"] = deleteAllConversationFromLocal
|
self["deleteAllConversationFromLocal"] = deleteAllConversationFromLocal
|
||||||
|
self["resetConversationGroupAtType"] = resetConversationGroupAtType
|
||||||
|
self["getAtAllTag"] = getAtAllTag
|
||||||
}
|
}
|
||||||
|
|
||||||
func setConversationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func setConversationListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
@ -93,6 +95,14 @@ public class ConversationManager: BaseServiceManager {
|
|||||||
func deleteAllConversationFromLocal(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func deleteAllConversationFromLocal(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
Open_im_sdkDeleteAllConversationFromLocal(BaseCallback(result: result), methodCall[string: "operationID"])
|
Open_im_sdkDeleteAllConversationFromLocal(BaseCallback(result: result), methodCall[string: "operationID"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func resetConversationGroupAtType(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkResetConversationGroupAtType(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "conversationID"])
|
||||||
|
}
|
||||||
|
|
||||||
|
func getAtAllTag(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
callBack(result, Open_im_sdkGetAtAllTag())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@ public class GroupManager: BaseServiceManager {
|
|||||||
self["changeGroupMute"] = changeGroupMute
|
self["changeGroupMute"] = changeGroupMute
|
||||||
self["changeGroupMemberMute"] = changeGroupMemberMute
|
self["changeGroupMemberMute"] = changeGroupMemberMute
|
||||||
self["setGroupMemberNickname"] = setGroupMemberNickname
|
self["setGroupMemberNickname"] = setGroupMemberNickname
|
||||||
|
self["searchGroups"] = searchGroups
|
||||||
}
|
}
|
||||||
|
|
||||||
func setGroupListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func setGroupListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
@ -110,6 +111,10 @@ public class GroupManager: BaseServiceManager {
|
|||||||
func setGroupMemberNickname(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func setGroupMemberNickname(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
Open_im_sdkSetGroupMemberNickname(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "gid"], methodCall[string:"uid"],methodCall[string:"groupNickname"])
|
Open_im_sdkSetGroupMemberNickname(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "gid"], methodCall[string:"uid"],methodCall[string:"groupNickname"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func searchGroups(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkSearchGroups(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "searchParam"])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GroupListener: NSObject, Open_im_sdk_callbackOnGroupListenerProtocol {
|
public class GroupListener: NSObject, Open_im_sdk_callbackOnGroupListenerProtocol {
|
||||||
|
@ -43,6 +43,7 @@ public class MessageManager: BaseServiceManager {
|
|||||||
self["markMessageAsReadByConID"] = markMessageAsReadByConID
|
self["markMessageAsReadByConID"] = markMessageAsReadByConID
|
||||||
self["clearC2CHistoryMessageFromLocalAndSvr"] = clearC2CHistoryMessageFromLocalAndSvr
|
self["clearC2CHistoryMessageFromLocalAndSvr"] = clearC2CHistoryMessageFromLocalAndSvr
|
||||||
self["clearGroupHistoryMessageFromLocalAndSvr"] = clearGroupHistoryMessageFromLocalAndSvr
|
self["clearGroupHistoryMessageFromLocalAndSvr"] = clearGroupHistoryMessageFromLocalAndSvr
|
||||||
|
self["getHistoryMessageListReverse"] = getHistoryMessageListReverse
|
||||||
}
|
}
|
||||||
|
|
||||||
func setAdvancedMsgListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
func setAdvancedMsgListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
@ -209,6 +210,10 @@ public class MessageManager: BaseServiceManager {
|
|||||||
Open_im_sdkClearGroupHistoryMessageFromLocalAndSvr(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"])
|
Open_im_sdkClearGroupHistoryMessageFromLocalAndSvr(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "groupID"])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getHistoryMessageListReverse(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
|
||||||
|
Open_im_sdkGetHistoryMessageListReverse(BaseCallback(result: result), methodCall[string: "operationID"], methodCall.toJsonString())
|
||||||
|
}
|
||||||
|
|
||||||
public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol {
|
public class SendMsgProgressListener: NSObject, Open_im_sdk_callbackSendMsgCallBackProtocol {
|
||||||
private let channel: FlutterMethodChannel
|
private let channel: FlutterMethodChannel
|
||||||
private let result: FlutterResult
|
private let result: FlutterResult
|
||||||
|
@ -44,7 +44,7 @@ public class SignalingManager: BaseServiceManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
public class SignalingListener: NSObject, Open_im_sdk_callbackOnSignalingListenerProtocol {
|
public class SignalingListener: NSObject, Open_im_sdk_callbackOnSignalingListenerProtocol {
|
||||||
|
|
||||||
private let channel:FlutterMethodChannel
|
private let channel:FlutterMethodChannel
|
||||||
|
|
||||||
init(channel:FlutterMethodChannel) {
|
init(channel:FlutterMethodChannel) {
|
||||||
@ -78,5 +78,9 @@ public class SignalingListener: NSObject, Open_im_sdk_callbackOnSignalingListene
|
|||||||
public func onReceiveNewInvitation(_ s: String?) {
|
public func onReceiveNewInvitation(_ s: String?) {
|
||||||
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onReceiveNewInvitation", errCode: nil, errMsg: nil, data: s)
|
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onReceiveNewInvitation", errCode: nil, errMsg: nil, data: s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public func onHangUp(_ s: String?) {
|
||||||
|
CommonUtil.emitEvent(channel: channel, method: "signalingListener", type: "onHangUp", errCode: nil, errMsg: nil, data: s)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -120,6 +120,9 @@ FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkGetConversationIDBySessionType(N
|
|||||||
|
|
||||||
FOUNDATION_EXPORT void Open_im_sdkGetConversationListSplit(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, long offset, long count);
|
FOUNDATION_EXPORT void Open_im_sdkGetConversationListSplit(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, long offset, long count);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* deprecated
|
||||||
|
*/
|
||||||
FOUNDATION_EXPORT void Open_im_sdkGetConversationRecvMessageOpt(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable conversationIDList);
|
FOUNDATION_EXPORT void Open_im_sdkGetConversationRecvMessageOpt(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable conversationIDList);
|
||||||
|
|
||||||
FOUNDATION_EXPORT void Open_im_sdkGetDepartmentMember(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable departmentID, long offset, long count);
|
FOUNDATION_EXPORT void Open_im_sdkGetDepartmentMember(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable departmentID, long offset, long count);
|
||||||
@ -138,6 +141,8 @@ FOUNDATION_EXPORT void Open_im_sdkGetGroupsInfo(id<Open_im_sdk_callbackBase> _Nu
|
|||||||
|
|
||||||
FOUNDATION_EXPORT void Open_im_sdkGetHistoryMessageList(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable getMessageOptions);
|
FOUNDATION_EXPORT void Open_im_sdkGetHistoryMessageList(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable getMessageOptions);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void Open_im_sdkGetHistoryMessageListReverse(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable getMessageOptions);
|
||||||
|
|
||||||
FOUNDATION_EXPORT void Open_im_sdkGetJoinedGroupList(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID);
|
FOUNDATION_EXPORT void Open_im_sdkGetJoinedGroupList(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID);
|
||||||
|
|
||||||
FOUNDATION_EXPORT int32_t Open_im_sdkGetLoginStatus(void);
|
FOUNDATION_EXPORT int32_t Open_im_sdkGetLoginStatus(void);
|
||||||
@ -225,6 +230,8 @@ FOUNDATION_EXPORT void Open_im_sdkRevokeMessage(id<Open_im_sdk_callbackBase> _Nu
|
|||||||
|
|
||||||
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkSdkVersion(void);
|
FOUNDATION_EXPORT NSString* _Nonnull Open_im_sdkSdkVersion(void);
|
||||||
|
|
||||||
|
FOUNDATION_EXPORT void Open_im_sdkSearchGroups(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable searchParam);
|
||||||
|
|
||||||
FOUNDATION_EXPORT void Open_im_sdkSearchLocalMessages(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable searchParam);
|
FOUNDATION_EXPORT void Open_im_sdkSearchLocalMessages(id<Open_im_sdk_callbackBase> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable searchParam);
|
||||||
|
|
||||||
FOUNDATION_EXPORT void Open_im_sdkSendMessage(id<Open_im_sdk_callbackSendMsgCallBack> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable message, NSString* _Nullable recvID, NSString* _Nullable groupID, NSString* _Nullable offlinePushInfo);
|
FOUNDATION_EXPORT void Open_im_sdkSendMessage(id<Open_im_sdk_callbackSendMsgCallBack> _Nullable callback, NSString* _Nullable operationID, NSString* _Nullable message, NSString* _Nullable recvID, NSString* _Nullable groupID, NSString* _Nullable offlinePushInfo);
|
||||||
|
@ -93,6 +93,7 @@
|
|||||||
@end
|
@end
|
||||||
|
|
||||||
@protocol Open_im_sdk_callbackOnSignalingListener <NSObject>
|
@protocol Open_im_sdk_callbackOnSignalingListener <NSObject>
|
||||||
|
- (void)onHangUp:(NSString* _Nullable)hangUpCallback;
|
||||||
- (void)onInvitationCancelled:(NSString* _Nullable)invitationCancelledCallback;
|
- (void)onInvitationCancelled:(NSString* _Nullable)invitationCancelledCallback;
|
||||||
- (void)onInvitationTimeout:(NSString* _Nullable)invitationTimeoutCallback;
|
- (void)onInvitationTimeout:(NSString* _Nullable)invitationTimeoutCallback;
|
||||||
- (void)onInviteeAccepted:(NSString* _Nullable)inviteeAcceptedCallback;
|
- (void)onInviteeAccepted:(NSString* _Nullable)inviteeAcceptedCallback;
|
||||||
@ -229,6 +230,7 @@
|
|||||||
@property(strong, readonly) _Nonnull id _ref;
|
@property(strong, readonly) _Nonnull id _ref;
|
||||||
|
|
||||||
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
- (nonnull instancetype)initWithRef:(_Nonnull id)ref;
|
||||||
|
- (void)onHangUp:(NSString* _Nullable)hangUpCallback;
|
||||||
- (void)onInvitationCancelled:(NSString* _Nullable)invitationCancelledCallback;
|
- (void)onInvitationCancelled:(NSString* _Nullable)invitationCancelledCallback;
|
||||||
- (void)onInvitationTimeout:(NSString* _Nullable)invitationTimeoutCallback;
|
- (void)onInvitationTimeout:(NSString* _Nullable)invitationTimeoutCallback;
|
||||||
- (void)onInviteeAccepted:(NSString* _Nullable)inviteeAcceptedCallback;
|
- (void)onInviteeAccepted:(NSString* _Nullable)inviteeAcceptedCallback;
|
||||||
|
Binary file not shown.
@ -8,6 +8,7 @@ class OnSignalingListener {
|
|||||||
final Function(SignalingInfo info)? onReceiveNewInvitation;
|
final Function(SignalingInfo info)? onReceiveNewInvitation;
|
||||||
final Function(SignalingInfo info)? onInviteeRejectedByOtherDevice;
|
final Function(SignalingInfo info)? onInviteeRejectedByOtherDevice;
|
||||||
final Function(SignalingInfo info)? onInviteeAcceptedByOtherDevice;
|
final Function(SignalingInfo info)? onInviteeAcceptedByOtherDevice;
|
||||||
|
final Function(SignalingInfo info)? onHangup;
|
||||||
|
|
||||||
OnSignalingListener({
|
OnSignalingListener({
|
||||||
this.onInvitationCancelled,
|
this.onInvitationCancelled,
|
||||||
@ -17,6 +18,7 @@ class OnSignalingListener {
|
|||||||
this.onReceiveNewInvitation,
|
this.onReceiveNewInvitation,
|
||||||
this.onInviteeAcceptedByOtherDevice,
|
this.onInviteeAcceptedByOtherDevice,
|
||||||
this.onInviteeRejectedByOtherDevice,
|
this.onInviteeRejectedByOtherDevice,
|
||||||
|
this.onHangup,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// 被邀请者收到:邀请者取消音视频通话
|
/// 被邀请者收到:邀请者取消音视频通话
|
||||||
@ -53,4 +55,9 @@ class OnSignalingListener {
|
|||||||
void inviteeRejectedByOtherDevice(SignalingInfo info) {
|
void inviteeRejectedByOtherDevice(SignalingInfo info) {
|
||||||
onInviteeRejectedByOtherDevice?.call(info);
|
onInviteeRejectedByOtherDevice?.call(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 被挂断
|
||||||
|
void hangup(SignalingInfo info) {
|
||||||
|
onHangup?.call(info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -243,6 +243,24 @@ class ConversationManager {
|
|||||||
"operationID": Utils.checkOperationID(operationID),
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
/// Reset group converstaion at type
|
||||||
|
/// 重置at标准位
|
||||||
|
Future<dynamic> resetConversationGroupAtType({
|
||||||
|
required String conversationID,
|
||||||
|
String? operationID,
|
||||||
|
}) =>
|
||||||
|
_channel.invokeMethod(
|
||||||
|
'resetConversationGroupAtType',
|
||||||
|
_buildParam({
|
||||||
|
"conversationID": conversationID,
|
||||||
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
|
}));
|
||||||
|
|
||||||
|
/// Get @ all member tag
|
||||||
|
/// 查询at所有人标识
|
||||||
|
Future<dynamic> getAtAllTag() =>
|
||||||
|
_channel.invokeMethod('getAtAllTag', _buildParam({}));
|
||||||
|
|
||||||
/// Custom sort for conversation list
|
/// Custom sort for conversation list
|
||||||
/// 会话列表自定义排序规则。
|
/// 会话列表自定义排序规则。
|
||||||
List<ConversationInfo> simpleSort(List<ConversationInfo> list) => list
|
List<ConversationInfo> simpleSort(List<ConversationInfo> list) => list
|
||||||
|
@ -382,6 +382,31 @@ class GroupManager {
|
|||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
/// Search group
|
||||||
|
/// 查询群
|
||||||
|
/// [keywordList] 搜索关键词,目前仅支持一个关键词搜索,不能为空
|
||||||
|
/// [isSearchGroupID] 是否以关键词搜索群ID(注:两个不可以同时为false),为空默认false
|
||||||
|
/// [isSearchGroupName] 是否以关键词搜索群名字,为空默认false
|
||||||
|
Future<List<GroupInfo>> searchGroups({
|
||||||
|
List<String> keywordList = const [],
|
||||||
|
bool isSearchGroupID = false,
|
||||||
|
bool isSearchGroupName = false,
|
||||||
|
String? operationID,
|
||||||
|
}) =>
|
||||||
|
_channel
|
||||||
|
.invokeMethod(
|
||||||
|
'searchGroups',
|
||||||
|
_buildParam({
|
||||||
|
'searchParam': {
|
||||||
|
'keywordList': keywordList,
|
||||||
|
'isSearchGroupID': isSearchGroupID,
|
||||||
|
'isSearchGroupName': isSearchGroupName,
|
||||||
|
},
|
||||||
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
|
}))
|
||||||
|
.then(
|
||||||
|
(value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
||||||
|
|
||||||
static Map _buildParam(Map param) {
|
static Map _buildParam(Map param) {
|
||||||
param["ManagerName"] = "groupManager";
|
param["ManagerName"] = "groupManager";
|
||||||
return param;
|
return param;
|
||||||
|
@ -258,6 +258,9 @@ class IMManager {
|
|||||||
case 'onInviteeRejectedByOtherDevice':
|
case 'onInviteeRejectedByOtherDevice':
|
||||||
signalingManager.listener.inviteeRejectedByOtherDevice(u);
|
signalingManager.listener.inviteeRejectedByOtherDevice(u);
|
||||||
break;
|
break;
|
||||||
|
case 'onHangUp':
|
||||||
|
signalingManager.listener.hangup(u);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else if (call.method == ListenerType.workMomentsListener) {
|
} else if (call.method == ListenerType.workMomentsListener) {
|
||||||
String type = call.arguments['type'];
|
String type = call.arguments['type'];
|
||||||
|
@ -529,8 +529,7 @@ class MessageManager {
|
|||||||
|
|
||||||
/// Search local message
|
/// Search local message
|
||||||
/// 搜索消息
|
/// 搜索消息
|
||||||
/// [sourceID]单聊为用户ID,群聊为群ID
|
/// [conversationID] 根据会话查询,如果是全局搜索传null
|
||||||
/// [sessionType]会话类型,单聊为1,群聊为2,如果为0,则代表搜索全部
|
|
||||||
/// [keywordList]搜索关键词列表,目前仅支持一个关键词搜索
|
/// [keywordList]搜索关键词列表,目前仅支持一个关键词搜索
|
||||||
/// [keywordListMatchType]关键词匹配模式,1代表与,2代表或,暂时未用
|
/// [keywordListMatchType]关键词匹配模式,1代表与,2代表或,暂时未用
|
||||||
/// [senderUserIDList]指定消息发送的uid列表 暂时未用
|
/// [senderUserIDList]指定消息发送的uid列表 暂时未用
|
||||||
@ -540,8 +539,7 @@ class MessageManager {
|
|||||||
/// [pageIndex]当前页数
|
/// [pageIndex]当前页数
|
||||||
/// [count]每页数量
|
/// [count]每页数量
|
||||||
Future<SearchResult> searchLocalMessages({
|
Future<SearchResult> searchLocalMessages({
|
||||||
required String sourceID,
|
String? conversationID,
|
||||||
required int sessionType,
|
|
||||||
List<String> keywordList = const [],
|
List<String> keywordList = const [],
|
||||||
int keywordListMatchType = 0,
|
int keywordListMatchType = 0,
|
||||||
List<String> senderUserIDList = const [],
|
List<String> senderUserIDList = const [],
|
||||||
@ -557,8 +555,7 @@ class MessageManager {
|
|||||||
'searchLocalMessages',
|
'searchLocalMessages',
|
||||||
_buildParam({
|
_buildParam({
|
||||||
'filter': {
|
'filter': {
|
||||||
'sourceID': sourceID,
|
'conversationID': conversationID,
|
||||||
'sessionType': sessionType,
|
|
||||||
'keywordList': keywordList,
|
'keywordList': keywordList,
|
||||||
'keywordListMatchType': keywordListMatchType,
|
'keywordListMatchType': keywordListMatchType,
|
||||||
'senderUserIDList': senderUserIDList,
|
'senderUserIDList': senderUserIDList,
|
||||||
@ -649,6 +646,32 @@ class MessageManager {
|
|||||||
"operationID": Utils.checkOperationID(operationID),
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
/// Find all history message
|
||||||
|
/// 获取聊天记录
|
||||||
|
/// [userID]接收消息的用户id
|
||||||
|
/// [conversationID] 会话id
|
||||||
|
/// [groupID]接收消息的组id
|
||||||
|
Future<List<Message>> getHistoryMessageListReverse({
|
||||||
|
String? userID,
|
||||||
|
String? groupID,
|
||||||
|
String? conversationID,
|
||||||
|
Message? startMsg,
|
||||||
|
int? count,
|
||||||
|
String? operationID,
|
||||||
|
}) =>
|
||||||
|
_channel
|
||||||
|
.invokeMethod(
|
||||||
|
'getHistoryMessageListReverse',
|
||||||
|
_buildParam({
|
||||||
|
'userID': userID ?? '',
|
||||||
|
'groupID': groupID ?? '',
|
||||||
|
'conversationID': conversationID ?? '',
|
||||||
|
'startClientMsgID': startMsg?.clientMsgID ?? '',
|
||||||
|
'count': count ?? 10,
|
||||||
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
|
}))
|
||||||
|
.then((value) => Utils.toList(value, (map) => Message.fromJson(map)));
|
||||||
|
|
||||||
static Map _buildParam(Map param) {
|
static Map _buildParam(Map param) {
|
||||||
param["ManagerName"] = "messageManager";
|
param["ManagerName"] = "messageManager";
|
||||||
return param;
|
return param;
|
||||||
|
@ -32,7 +32,12 @@ class SearchResultItems {
|
|||||||
/// 会话ID
|
/// 会话ID
|
||||||
String? conversationID;
|
String? conversationID;
|
||||||
|
|
||||||
/// 这个会话下的消息数量
|
/// 会话类型1单聊,2群聊,3,超级大群,4通知会话
|
||||||
|
int? conversationType;
|
||||||
|
String? showName;
|
||||||
|
String? faceURL;
|
||||||
|
|
||||||
|
/// 搜索到的这个会话下的消息数量
|
||||||
int? messageCount;
|
int? messageCount;
|
||||||
|
|
||||||
/// [Message]的列表
|
/// [Message]的列表
|
||||||
@ -42,6 +47,9 @@ class SearchResultItems {
|
|||||||
|
|
||||||
SearchResultItems.fromJson(Map<String, dynamic> json) {
|
SearchResultItems.fromJson(Map<String, dynamic> json) {
|
||||||
conversationID = json['conversationID'];
|
conversationID = json['conversationID'];
|
||||||
|
conversationType = json['conversationType'];
|
||||||
|
showName = json['showName'];
|
||||||
|
faceURL = json['faceURL'];
|
||||||
messageCount = json['messageCount'];
|
messageCount = json['messageCount'];
|
||||||
if (json['messageList'] != null) {
|
if (json['messageList'] != null) {
|
||||||
messageList = <Message>[];
|
messageList = <Message>[];
|
||||||
@ -54,6 +62,9 @@ class SearchResultItems {
|
|||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final data = Map<String, dynamic>();
|
final data = Map<String, dynamic>();
|
||||||
data['conversationID'] = this.conversationID;
|
data['conversationID'] = this.conversationID;
|
||||||
|
data['conversationType'] = this.conversationType;
|
||||||
|
data['showName'] = this.showName;
|
||||||
|
data['faceURL'] = this.faceURL;
|
||||||
data['messageCount'] = this.messageCount;
|
data['messageCount'] = this.messageCount;
|
||||||
if (this.messageList != null) {
|
if (this.messageList != null) {
|
||||||
data['messageList'] = this.messageList!.map((v) => v.toJson()).toList();
|
data['messageList'] = this.messageList!.map((v) => v.toJson()).toList();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user