Brett
2023-12-29 20:19:29 +08:00
parent 2814122ba4
commit 8b4b21e18d
23 changed files with 198 additions and 93 deletions

BIN
lib/.DS_Store vendored

Binary file not shown.

View File

@@ -341,6 +341,37 @@ class ConversationManager {
"operationID": Utils.checkOperationID(operationID),
}));
/// search Conversations
Future<List<ConversationInfo>> searchConversations(
String name, {
String? operationID,
}) {
return _channel
.invokeMethod(
'searchConversations',
_buildParam({
'name': name,
"operationID": Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toList(value, (map) => ConversationInfo.fromJson(map)));
}
Future<List<ConversationInfo>> setConversationEx(
String conversationID, {
String? ex,
String? operationID,
}) {
return _channel
.invokeMethod(
'setConversationEx',
_buildParam({
'conversationID': conversationID,
'ex': ex,
"operationID": Utils.checkOperationID(operationID),
}))
.then((value) => Utils.toList(value, (map) => ConversationInfo.fromJson(map)));
}
/// Custom Sort for Conversation List
List<ConversationInfo> simpleSort(List<ConversationInfo> list) => list
..sort((a, b) {

View File

@@ -100,12 +100,14 @@ class FriendshipManager {
/// [userID] Friend's ID to be added to the blacklist
Future<dynamic> addBlacklist({
required String userID,
String? ex,
String? operationID,
}) =>
_channel.invokeMethod(
'addBlacklist',
_buildParam({
"userID": userID,
"ex": ex,
"operationID": Utils.checkOperationID(operationID),
}));
@@ -217,6 +219,20 @@ class FriendshipManager {
}))
.then((value) => Utils.toList(value, (map) => SearchFriendsInfo.fromJson(map)));
Future<String?> setFriendsEx(
List<String> friendIDs, {
String? ex,
String? operationID,
}) {
return _channel.invokeMethod(
'setFriendsEx',
_buildParam({
"friendIDs": friendIDs,
"ex": ex,
"operationID": Utils.checkOperationID(operationID),
}));
}
static Map _buildParam(Map param) {
param["ManagerName"] = "friendshipManager";
return param;

View File

@@ -207,20 +207,15 @@ class GroupManager {
/// Apply to join a group, requiring approval from an administrator or the group.
/// [joinSource] 2: Invited, 3: Searched, 4: Using a QR code
Future<dynamic> joinGroup({
required String groupID,
String? reason,
String? operationID,
int joinSource = 3,
}) =>
_channel.invokeMethod(
'joinGroup',
_buildParam({
'groupID': groupID,
'reason': reason,
'joinSource': joinSource,
'operationID': Utils.checkOperationID(operationID),
}));
Future<dynamic> joinGroup({required String groupID, String? reason, String? operationID, int joinSource = 3, String? ex}) => _channel.invokeMethod(
'joinGroup',
_buildParam({
'groupID': groupID,
'reason': reason,
'joinSource': joinSource,
'ex': ex,
'operationID': Utils.checkOperationID(operationID),
}));
/// Exit a group
Future<dynamic> quitGroup({

View File

@@ -131,6 +131,18 @@ class UserManager {
.then((value) => Utils.toList(value, (map) => FullUserInfo.fromJson(map)));
}
Future<String?> setSelfUserInfoEx(
UserInfo userInfo, {
String? operationID,
}) {
return _channel.invokeMethod(
'setSelfUserInfoEx',
_buildParam({
...userInfo.toJson(),
'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.4.0+2';
static const version = '3.5.0-rc.1';
static const _channel = const MethodChannel('flutter_openim_sdk');