Compare commits

..

6 Commits

15 changed files with 62 additions and 44 deletions

View File

@@ -1,3 +1,11 @@
## 3.5.1
- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.5.1)
## 3.5.1-alpha.7
- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.5.1-alpha.7)
## 3.5.1-alpha.2
- [Bug fixes and performance enhancements.](https://github.com/openimsdk/openim-sdk-core/releases/tag/v3.5.1-alpha.2)

View File

@@ -52,5 +52,5 @@ android {
dependencies {
// 本地依赖现将aar复制到libs/io/openim/core-sdk/0.0.1/ 下命名core-sdk-0.0.1.aar
// implementation 'io.openim:core-sdk:0.0.1@aar'
implementation 'io.openim:core-sdk:3.5.1-alpha.2@aar'
implementation 'io.openim:core-sdk:3.5.1@aar'
}

View File

@@ -67,6 +67,7 @@ public class IMManager extends BaseManager {
Open_im_sdk.uploadLogs(
new OnBaseListener(result, methodCall),
value(methodCall, "operationID"),
value(methodCall, "ex"),
new OnUploadLogsListener(result, methodCall)
);
}

View File

@@ -27,7 +27,8 @@ public class MessageManager extends BaseManager {
jsonValue(methodCall, "message"),
value(methodCall, "userID"),
value(methodCall, "groupID"),
jsonValue(methodCall, "offlinePushInfo")
jsonValue(methodCall, "offlinePushInfo"),
value(methodCall, "isOnlineOnly")
);
}
@@ -338,7 +339,8 @@ public class MessageManager extends BaseManager {
jsonValue(methodCall, "message"),
value(methodCall, "userID"),
value(methodCall, "groupID"),
jsonValue(methodCall, "offlinePushInfo")
jsonValue(methodCall, "offlinePushInfo"),
value(methodCall, "isOnlineOnly")
);
}

View File

@@ -69,11 +69,12 @@ public class UserManager extends BaseManager {
jsonValue(methodCall, "userIDs"),
value(methodCall, "groupID"));
}
/*
public void setSelfInfoEx(MethodCall methodCall, MethodChannel.Result result) {
Open_im_sdk.setSelfInfoEx(
new OnBaseListener(result, methodCall),
value(methodCall, "operationID"),
jsonValue(methodCall));
}
*/
}

View File

@@ -86,7 +86,8 @@ public class IMMananger: BaseServiceManager {
}
func uploadLogs(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkUploadLogs(BaseCallback(result: result), methodCall[string: "operationID"], UploadLogsListener(channel: self.channel))
Open_im_sdkUploadLogs(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "ex"], UploadLogsListener(channel: self
.channel))
}
func updateFcmToken(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {

View File

@@ -65,7 +65,7 @@ public class MessageManager: BaseServiceManager {
func sendMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let sendMsgProgressListener: SendMsgProgressListener = SendMsgProgressListener(channel: channel,result: result,methodCall: methodCall)
Open_im_sdkSendMessage(sendMsgProgressListener, methodCall[string: "operationID"], methodCall[jsonString: "message"], methodCall[string: "userID"],
methodCall[string: "groupID"], methodCall[jsonString: "offlinePushInfo"])
methodCall[string: "groupID"], methodCall[jsonString: "offlinePushInfo"], methodCall[bool: "isOnlineOnly"])
}
func revokeMessage(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
@@ -228,7 +228,7 @@ public class MessageManager: BaseServiceManager {
func sendMessageNotOss(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
let sendMsgProgressListener: SendMsgProgressListener = SendMsgProgressListener(channel: channel,result: result,methodCall: methodCall)
Open_im_sdkSendMessageNotOss(sendMsgProgressListener, methodCall[string: "operationID"], methodCall[jsonString: "message"], methodCall[string: "userID"],
methodCall[string: "groupID"], methodCall[jsonString: "offlinePushInfo"])
methodCall[string: "groupID"], methodCall[jsonString: "offlinePushInfo"], methodCall[bool: "isOnlineOnly"])
}
func createImageMessageByURL(methodCall: FlutterMethodCall, result: @escaping FlutterResult){

View File

@@ -14,7 +14,9 @@ public class UserManager: BaseServiceManager {
self["getSubscribeUsersStatus"] = getSubscribeUsersStatus
self["getUserStatus"] = getUserStatus
self["getUsersInfoWithCache"] = getUsersInfoWithCache
/*
self["setSelfInfoEx"] = setSelfInfoEx
*/
}
func setUserListener(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
@@ -54,10 +56,11 @@ public class UserManager: BaseServiceManager {
Open_im_sdkGetUsersInfoWithCache(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[jsonString: "userIDs"],
methodCall[string: "groupID"])
}
/*
func setSelfInfoEx(methodCall: FlutterMethodCall, result: @escaping FlutterResult){
Open_im_sdkSetSelfInfoEx(BaseCallback(result: result), methodCall[string: "operationID"], methodCall.toJsonString())
}
*/
}
public class UserListener: NSObject, Open_im_sdk_callbackOnUserListenerProtocol {

View File

@@ -17,8 +17,10 @@ A new Flutter project.
s.dependency 'Flutter'
s.platform = :ios, '11.0'
s.dependency 'OpenIMSDKCore','3.5.1-alpha.2'
s.dependency 'OpenIMSDKCore','3.5.1'
s.static_framework = true
s.library = 'resolv'
# s.vendored_frameworks = 'Framework/*.framework'
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386 arm64' }

View File

@@ -18,43 +18,39 @@ class GroupManager {
/// Invite users to a group, allowing them to join without approval.
/// [groupID] Group ID
/// [userIDList] List of user IDs
Future<List<GroupInviteResult>> inviteUserToGroup({
Future inviteUserToGroup({
required String groupID,
required List<String> userIDList,
String? reason,
String? operationID,
}) =>
_channel
.invokeMethod(
'inviteUserToGroup',
_buildParam({
'groupID': groupID,
'userIDList': userIDList,
'reason': reason,
"operationID": Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toList(value, (map) => GroupInviteResult.fromJson(map)));
_channel.invokeMethod(
'inviteUserToGroup',
_buildParam({
'groupID': groupID,
'userIDList': userIDList,
'reason': reason,
"operationID": Utils.checkOperationID(operationID),
}));
/// Remove group members
/// [groupID] Group ID
/// [userIDList] List of user IDs
/// [reason] Reason for removal
Future<List<GroupInviteResult>> kickGroupMember({
Future kickGroupMember({
required String groupID,
required List<String> userIDList,
String? reason,
String? operationID,
}) =>
_channel
.invokeMethod(
'kickGroupMember',
_buildParam({
'groupID': groupID,
'userIDList': userIDList,
'reason': reason,
"operationID": Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toList(value, (map) => GroupInviteResult.fromJson(map)));
_channel.invokeMethod(
'kickGroupMember',
_buildParam({
'groupID': groupID,
'userIDList': userIDList,
'reason': reason,
"operationID": Utils.checkOperationID(operationID),
}));
/// Query group member information
/// [groupID] Group ID

View File

@@ -526,13 +526,15 @@ class IMManager {
}));
/// 上传日志
/// [uploadlogParams] system_type、ex
/// [uploadlogParams] ex
Future uploadLogs({
String? ex,
String? operationID,
}) =>
_channel.invokeMethod(
'uploadLogs',
_buildParam({
'ex': ex,
'operationID': Utils.checkOperationID(operationID),
}));

View File

@@ -36,6 +36,7 @@ class MessageManager {
required OfflinePushInfo offlinePushInfo,
String? userID,
String? groupID,
bool isOnlineOnly = false,
String? operationID,
}) =>
_channel
@@ -46,6 +47,7 @@ class MessageManager {
'offlinePushInfo': offlinePushInfo.toJson(),
'userID': userID ?? '',
'groupID': groupID ?? '',
'isOnlineOnly': isOnlineOnly,
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toObj(value, (map) => Message.fromJson(map)));
@@ -529,8 +531,7 @@ class MessageManager {
},
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) =>
Utils.toObj(value, (map) => SearchResult.fromJson(map)));
.then((value) => Utils.toObj(value, (map) => SearchResult.fromJson(map)));
/// Revoke a message
/// [message] The message to be revoked
@@ -585,8 +586,7 @@ class MessageManager {
'lastMinSeq': lastMinSeq ?? 0,
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) =>
Utils.toObj(value, (map) => AdvancedMessage.fromJson(map)));
.then((value) => Utils.toObj(value, (map) => AdvancedMessage.fromJson(map)));
/// Get chat history (newly received chat history after startMsg). Used for locating a specific message in global search and then fetching messages received after that message.
/// [conversationID] Conversation ID, can be used for querying notifications
@@ -609,8 +609,7 @@ class MessageManager {
'lastMinSeq': lastMinSeq ?? 0,
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) =>
Utils.toObj(value, (map) => AdvancedMessage.fromJson(map)));
.then((value) => Utils.toObj(value, (map) => AdvancedMessage.fromJson(map)));
/// Find message details
/// [conversationID] Conversation ID
@@ -626,8 +625,7 @@ class MessageManager {
'searchParams': searchParams.map((e) => e.toJson()).toList(),
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) =>
Utils.toObj(value, (map) => SearchResult.fromJson(map)));
.then((value) => Utils.toObj(value, (map) => SearchResult.fromJson(map)));
/// Rich text message
/// [text] Input content
@@ -679,6 +677,7 @@ class MessageManager {
required OfflinePushInfo offlinePushInfo,
String? userID,
String? groupID,
bool isOnlineOnly = false,
String? operationID,
}) =>
_channel
@@ -689,6 +688,7 @@ class MessageManager {
'offlinePushInfo': offlinePushInfo.toJson(),
'userID': userID ?? '',
'groupID': groupID ?? '',
'isOnlineOnly': isOnlineOnly,
'operationID': Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toObj(value, (map) => Message.fromJson(map)));
@@ -779,7 +779,8 @@ class MessageManager {
}));
}
Future setAppBadge(int count, {
Future setAppBadge(
int count, {
String? operationID,
}) {
return _channel.invokeMethod(

View File

@@ -131,6 +131,7 @@ class UserManager {
.then((value) => Utils.toList(value, (map) => FullUserInfo.fromJson(map)));
}
/*
Future<String?> setSelfUserInfoEx(
UserInfo userInfo, {
String? operationID,
@@ -142,7 +143,7 @@ class UserManager {
'operationID': Utils.checkOperationID(operationID),
}));
}
*/
static Map _buildParam(Map param) {
param["ManagerName"] = "userManager";
return param;

View File

@@ -2,7 +2,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_openim_sdk/flutter_openim_sdk.dart';
class OpenIM {
static const version = '3.5.1-alpha.2';
static const version = '3.5.1';
static const _channel = const MethodChannel('flutter_openim_sdk');

View File

@@ -1,6 +1,6 @@
name: flutter_openim_sdk
description: An instant messaging plug-in that supports Android and IOS. And the server is also all open source.
version: 3.5.1-alpha.2
version: 3.5.1
homepage: https://www.openim.io
repository: https://github.com/openimsdk/open-im-sdk-flutter