fix: Fixed some issues.
This commit is contained in:
parent
d07495fff6
commit
67251ae7ea
@ -29,6 +29,7 @@ export 'src/manager/im_message_manager.dart';
|
|||||||
export 'src/manager/im_user_manager.dart';
|
export 'src/manager/im_user_manager.dart';
|
||||||
export 'src/models/conversation_info.dart';
|
export 'src/models/conversation_info.dart';
|
||||||
export 'src/models/group_info.dart';
|
export 'src/models/group_info.dart';
|
||||||
|
export 'src/models/init_config.dart';
|
||||||
export 'src/models/message.dart';
|
export 'src/models/message.dart';
|
||||||
export 'src/models/notification_info.dart';
|
export 'src/models/notification_info.dart';
|
||||||
export 'src/models/search_info.dart';
|
export 'src/models/search_info.dart';
|
||||||
|
@ -30,9 +30,6 @@ class MessageType {
|
|||||||
/// Custom
|
/// Custom
|
||||||
static const custom = 110;
|
static const custom = 110;
|
||||||
|
|
||||||
/// Has Read Receipt
|
|
||||||
static const hasReadReceipt = 112;
|
|
||||||
|
|
||||||
/// Typing
|
/// Typing
|
||||||
static const typing = 113;
|
static const typing = 113;
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ class FriendshipManager {
|
|||||||
/// [isSearchUserID] Whether to search for friend IDs with keywords (note: cannot be false at the same time), defaults to false if empty
|
/// [isSearchUserID] Whether to search for friend IDs with keywords (note: cannot be false at the same time), defaults to false if empty
|
||||||
/// [isSearchNickname] Whether to search by nickname with keywords, defaults to false if empty
|
/// [isSearchNickname] Whether to search by nickname with keywords, defaults to false if empty
|
||||||
/// [isSearchRemark] Whether to search by remark name with keywords, defaults to false if empty
|
/// [isSearchRemark] Whether to search by remark name with keywords, defaults to false if empty
|
||||||
Future<List<FriendInfo>> searchFriends({
|
Future<List<SearchFriendInfo>> searchFriends({
|
||||||
List<String> keywordList = const [],
|
List<String> keywordList = const [],
|
||||||
bool isSearchUserID = false,
|
bool isSearchUserID = false,
|
||||||
bool isSearchNickname = false,
|
bool isSearchNickname = false,
|
||||||
@ -223,7 +223,7 @@ class FriendshipManager {
|
|||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) =>
|
.then((value) =>
|
||||||
Utils.toList(value, (map) => FriendInfo.fromJson(map)));
|
Utils.toList(value, (map) => SearchFriendInfo.fromJson(map)));
|
||||||
|
|
||||||
static Map _buildParam(Map param) {
|
static Map _buildParam(Map param) {
|
||||||
param["ManagerName"] = "friendshipManager";
|
param["ManagerName"] = "friendshipManager";
|
||||||
|
@ -33,7 +33,8 @@ class GroupManager {
|
|||||||
'reason': reason,
|
'reason': reason,
|
||||||
"operationID": Utils.checkOperationID(operationID),
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupInviteResult.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupInviteResult.fromJson(map)));
|
||||||
|
|
||||||
/// Remove group members
|
/// Remove group members
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -54,7 +55,8 @@ class GroupManager {
|
|||||||
'reason': reason,
|
'reason': reason,
|
||||||
"operationID": Utils.checkOperationID(operationID),
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupInviteResult.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupInviteResult.fromJson(map)));
|
||||||
|
|
||||||
/// Query group member information
|
/// Query group member information
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -72,7 +74,8 @@ class GroupManager {
|
|||||||
'userIDList': userIDList,
|
'userIDList': userIDList,
|
||||||
"operationID": Utils.checkOperationID(operationID),
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Paginate and retrieve the group member list
|
/// Paginate and retrieve the group member list
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -96,7 +99,8 @@ class GroupManager {
|
|||||||
'count': count,
|
'count': count,
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Paginate and retrieve the group member list as a map
|
/// Paginate and retrieve the group member list as a map
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -177,7 +181,8 @@ class GroupManager {
|
|||||||
'ownerUserID': ownerUserID,
|
'ownerUserID': ownerUserID,
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toObj(value, (map) => GroupInfo.fromJson(map)));
|
.then(
|
||||||
|
(value) => Utils.toObj(value, (map) => GroupInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Edit group information
|
/// Edit group information
|
||||||
Future<dynamic> setGroupInfo({
|
Future<dynamic> setGroupInfo({
|
||||||
@ -221,7 +226,8 @@ class GroupManager {
|
|||||||
'groupIDList': groupIDList,
|
'groupIDList': groupIDList,
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
.then(
|
||||||
|
(value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Apply to join a group, requiring approval from an administrator or the group.
|
/// Apply to join a group, requiring approval from an administrator or the group.
|
||||||
/// [joinSource] 2: Invited, 3: Searched, 4: Using a QR code
|
/// [joinSource] 2: Invited, 3: Searched, 4: Using a QR code
|
||||||
@ -269,22 +275,28 @@ class GroupManager {
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
/// Handle group membership applications received as a group owner or administrator
|
/// Handle group membership applications received as a group owner or administrator
|
||||||
Future<List<GroupApplicationInfo>> getGroupApplicationListAsRecipient({String? operationID}) => _channel
|
Future<List<GroupApplicationInfo>> getGroupApplicationListAsRecipient(
|
||||||
|
{String? operationID}) =>
|
||||||
|
_channel
|
||||||
.invokeMethod(
|
.invokeMethod(
|
||||||
'getGroupApplicationListAsRecipient',
|
'getGroupApplicationListAsRecipient',
|
||||||
_buildParam({
|
_buildParam({
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupApplicationInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupApplicationInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Get the list of group membership applications sent by the user
|
/// Get the list of group membership applications sent by the user
|
||||||
Future<List<GroupApplicationInfo>> getGroupApplicationListAsApplicant({String? operationID}) => _channel
|
Future<List<GroupApplicationInfo>> getGroupApplicationListAsApplicant(
|
||||||
|
{String? operationID}) =>
|
||||||
|
_channel
|
||||||
.invokeMethod(
|
.invokeMethod(
|
||||||
'getGroupApplicationListAsApplicant',
|
'getGroupApplicationListAsApplicant',
|
||||||
_buildParam({
|
_buildParam({
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupApplicationInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupApplicationInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Accept a group membership application as an administrator or group owner
|
/// Accept a group membership application as an administrator or group owner
|
||||||
/// Note: Membership applications require approval from administrators or the group.
|
/// Note: Membership applications require approval from administrators or the group.
|
||||||
@ -410,7 +422,8 @@ class GroupManager {
|
|||||||
},
|
},
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
.then(
|
||||||
|
(value) => Utils.toList(value, (map) => GroupInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Set group member role
|
/// Set group member role
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -453,7 +466,8 @@ class GroupManager {
|
|||||||
'excludeUserIDList': excludeUserIDList,
|
'excludeUserIDList': excludeUserIDList,
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Set group verification for joining
|
/// Set group verification for joining
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -516,7 +530,8 @@ class GroupManager {
|
|||||||
'groupID': groupID,
|
'groupID': groupID,
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Search for group members
|
/// Search for group members
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
@ -548,7 +563,8 @@ class GroupManager {
|
|||||||
},
|
},
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}))
|
}))
|
||||||
.then((value) => Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
.then((value) =>
|
||||||
|
Utils.toList(value, (map) => GroupMembersInfo.fromJson(map)));
|
||||||
|
|
||||||
/// Query a group
|
/// Query a group
|
||||||
/// [groupID] Group ID
|
/// [groupID] Group ID
|
||||||
|
@ -362,6 +362,26 @@ class IMManager {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<bool?> init(
|
||||||
|
InitConfig config,
|
||||||
|
OnConnectListener listener, {
|
||||||
|
String? operationID,
|
||||||
|
}) {
|
||||||
|
this._connectListener = listener;
|
||||||
|
if (config.logFilePath == null) {
|
||||||
|
config.logFilePath = config.dataDir;
|
||||||
|
}
|
||||||
|
return _channel.invokeMethod(
|
||||||
|
'initSDK',
|
||||||
|
_buildParam(
|
||||||
|
{
|
||||||
|
...config.toMap(),
|
||||||
|
"operationID": Utils.checkOperationID(operationID),
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/// Initialize the SDK
|
/// Initialize the SDK
|
||||||
/// [platform] Platform ID [IMPlatform]
|
/// [platform] Platform ID [IMPlatform]
|
||||||
/// [apiAddr] SDK API address
|
/// [apiAddr] SDK API address
|
||||||
|
@ -52,11 +52,7 @@ class UserManager {
|
|||||||
Future<String?> setSelfInfo({
|
Future<String?> setSelfInfo({
|
||||||
String? nickname,
|
String? nickname,
|
||||||
String? faceURL,
|
String? faceURL,
|
||||||
int? gender,
|
|
||||||
int? appManagerLevel,
|
int? appManagerLevel,
|
||||||
String? phoneNumber,
|
|
||||||
int? birth,
|
|
||||||
String? email,
|
|
||||||
String? ex,
|
String? ex,
|
||||||
String? operationID,
|
String? operationID,
|
||||||
}) =>
|
}) =>
|
||||||
@ -66,11 +62,7 @@ class UserManager {
|
|||||||
// 'userID': userID,
|
// 'userID': userID,
|
||||||
'nickname': nickname,
|
'nickname': nickname,
|
||||||
'faceURL': faceURL,
|
'faceURL': faceURL,
|
||||||
'gender': gender,
|
|
||||||
'appManagerLevel': appManagerLevel,
|
'appManagerLevel': appManagerLevel,
|
||||||
'phoneNumber': phoneNumber,
|
|
||||||
'birth': birth,
|
|
||||||
'email': email,
|
|
||||||
'ex': ex,
|
'ex': ex,
|
||||||
'operationID': Utils.checkOperationID(operationID),
|
'operationID': Utils.checkOperationID(operationID),
|
||||||
}));
|
}));
|
||||||
|
47
lib/src/models/init_config.dart
Normal file
47
lib/src/models/init_config.dart
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
class InitConfig {
|
||||||
|
int platformID;
|
||||||
|
String apiAddr;
|
||||||
|
String wsAddr;
|
||||||
|
String dataDir;
|
||||||
|
String objectStorage;
|
||||||
|
int logLevel;
|
||||||
|
bool isLogStandardOutput;
|
||||||
|
String? logFilePath;
|
||||||
|
|
||||||
|
InitConfig({
|
||||||
|
required this.platformID,
|
||||||
|
required this.apiAddr,
|
||||||
|
required this.wsAddr,
|
||||||
|
required this.dataDir,
|
||||||
|
required this.objectStorage,
|
||||||
|
this.logLevel = 6,
|
||||||
|
this.isLogStandardOutput = true,
|
||||||
|
this.logFilePath,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory InitConfig.fromJson(Map<String, dynamic> json) {
|
||||||
|
return InitConfig(
|
||||||
|
platformID: json['platformID'],
|
||||||
|
apiAddr: json['apiAddr'],
|
||||||
|
wsAddr: json['wsAddr'],
|
||||||
|
dataDir: json['dataDir'],
|
||||||
|
objectStorage: json['objectStorage'],
|
||||||
|
logLevel: json['logLevel'],
|
||||||
|
isLogStandardOutput: json['isLogStandardOutput'],
|
||||||
|
logFilePath: json['logFilePath'],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
'platformID': platformID,
|
||||||
|
'apiAddr': apiAddr,
|
||||||
|
'wsAddr': wsAddr,
|
||||||
|
'dataDir': dataDir,
|
||||||
|
'objectStorage': objectStorage,
|
||||||
|
'logLevel': logLevel,
|
||||||
|
'isLogStandardOutput': isLogStandardOutput,
|
||||||
|
'logFilePath': logFilePath,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
@ -114,3 +114,18 @@ class SearchParams {
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class SearchFriendInfo extends FriendInfo {
|
||||||
|
late int relationship;
|
||||||
|
SearchFriendInfo({required this.relationship}) : super();
|
||||||
|
|
||||||
|
SearchFriendInfo.fromJson(Map<String, dynamic> json) : super.fromJson(json) {
|
||||||
|
relationship = json['relationship'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final data = super.toJson();
|
||||||
|
data['relationship'] = this.relationship;
|
||||||
|
return data ?? {};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -197,6 +197,38 @@ class UserInfo {
|
|||||||
int get hashCode => userID.hashCode;
|
int get hashCode => userID.hashCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class FullUserInfo {
|
||||||
|
/// User's public information
|
||||||
|
PublicUserInfo? publicInfo;
|
||||||
|
|
||||||
|
/// Information visible only to friends
|
||||||
|
FriendInfo? friendInfo;
|
||||||
|
|
||||||
|
/// Blacklist information
|
||||||
|
BlacklistInfo? blackInfo;
|
||||||
|
|
||||||
|
FullUserInfo.fromJson(Map<String, dynamic> json) {
|
||||||
|
publicInfo = json['publicInfo'] != null
|
||||||
|
? PublicUserInfo.fromJson(json['publicInfo'])
|
||||||
|
: null;
|
||||||
|
friendInfo = json['friendInfo'] != null
|
||||||
|
? FriendInfo.fromJson(json['friendInfo'])
|
||||||
|
: null;
|
||||||
|
blackInfo = json['blackInfo'] != null
|
||||||
|
? BlacklistInfo.fromJson(json['blackInfo'])
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final data = Map<String, dynamic>();
|
||||||
|
data['publicInfo'] = this.publicInfo?.toJson();
|
||||||
|
data['friendInfo'] = this.friendInfo?.toJson();
|
||||||
|
data['blackInfo'] = this.blackInfo?.toJson();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class PublicUserInfo {
|
class PublicUserInfo {
|
||||||
/// User ID
|
/// User ID
|
||||||
String? userID;
|
String? userID;
|
||||||
@ -249,6 +281,9 @@ class PublicUserInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class FriendInfo {
|
class FriendInfo {
|
||||||
|
/// owner User ID
|
||||||
|
String? ownerUserID;
|
||||||
|
|
||||||
/// User ID
|
/// User ID
|
||||||
String? userID;
|
String? userID;
|
||||||
|
|
||||||
@ -286,6 +321,7 @@ class FriendInfo {
|
|||||||
String? operatorUserID;
|
String? operatorUserID;
|
||||||
|
|
||||||
FriendInfo({
|
FriendInfo({
|
||||||
|
this.ownerUserID,
|
||||||
this.userID,
|
this.userID,
|
||||||
this.nickname,
|
this.nickname,
|
||||||
this.faceURL,
|
this.faceURL,
|
||||||
@ -301,7 +337,7 @@ class FriendInfo {
|
|||||||
});
|
});
|
||||||
|
|
||||||
FriendInfo.fromJson(Map<String, dynamic> json) {
|
FriendInfo.fromJson(Map<String, dynamic> json) {
|
||||||
// ownerUserID = json['ownerUserID'];
|
ownerUserID = json['ownerUserID'];
|
||||||
userID = json['userID'];
|
userID = json['userID'];
|
||||||
remark = json['remark'];
|
remark = json['remark'];
|
||||||
createTime = json['createTime'];
|
createTime = json['createTime'];
|
||||||
@ -318,7 +354,7 @@ class FriendInfo {
|
|||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final data = Map<String, dynamic>();
|
final data = Map<String, dynamic>();
|
||||||
// data['ownerUserID'] = this.ownerUserID;
|
data['ownerUserID'] = this.ownerUserID;
|
||||||
data['userID'] = this.userID;
|
data['userID'] = this.userID;
|
||||||
data['remark'] = this.remark;
|
data['remark'] = this.remark;
|
||||||
data['createTime'] = this.createTime;
|
data['createTime'] = this.createTime;
|
||||||
@ -349,6 +385,12 @@ class BlacklistInfo {
|
|||||||
/// Nickname
|
/// Nickname
|
||||||
String? nickname;
|
String? nickname;
|
||||||
|
|
||||||
|
/// owner User ID
|
||||||
|
String? ownerUserID;
|
||||||
|
|
||||||
|
/// block User ID
|
||||||
|
String? blockUserID;
|
||||||
|
|
||||||
/// Profile picture
|
/// Profile picture
|
||||||
String? faceURL;
|
String? faceURL;
|
||||||
|
|
||||||
@ -368,6 +410,8 @@ class BlacklistInfo {
|
|||||||
String? ex;
|
String? ex;
|
||||||
|
|
||||||
BlacklistInfo({
|
BlacklistInfo({
|
||||||
|
this.ownerUserID,
|
||||||
|
this.blockUserID,
|
||||||
this.userID,
|
this.userID,
|
||||||
this.nickname,
|
this.nickname,
|
||||||
this.faceURL,
|
this.faceURL,
|
||||||
@ -379,6 +423,8 @@ class BlacklistInfo {
|
|||||||
});
|
});
|
||||||
|
|
||||||
BlacklistInfo.fromJson(Map<String, dynamic> json) {
|
BlacklistInfo.fromJson(Map<String, dynamic> json) {
|
||||||
|
ownerUserID = json['ownerUserID'];
|
||||||
|
blockUserID = json['blockUserID'];
|
||||||
userID = json['userID'];
|
userID = json['userID'];
|
||||||
nickname = json['nickname'];
|
nickname = json['nickname'];
|
||||||
faceURL = json['faceURL'];
|
faceURL = json['faceURL'];
|
||||||
@ -391,6 +437,8 @@ class BlacklistInfo {
|
|||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final data = Map<String, dynamic>();
|
final data = Map<String, dynamic>();
|
||||||
|
data['ownerUserID'] = this.ownerUserID;
|
||||||
|
data['blockUserID'] = this.blockUserID;
|
||||||
data['userID'] = this.userID;
|
data['userID'] = this.userID;
|
||||||
data['nickname'] = this.nickname;
|
data['nickname'] = this.nickname;
|
||||||
data['faceURL'] = this.faceURL;
|
data['faceURL'] = this.faceURL;
|
||||||
@ -435,9 +483,6 @@ class FriendApplicationInfo {
|
|||||||
/// Initiator user profile picture
|
/// Initiator user profile picture
|
||||||
String? fromFaceURL;
|
String? fromFaceURL;
|
||||||
|
|
||||||
/// Initiator user gender
|
|
||||||
int? fromGender;
|
|
||||||
|
|
||||||
/// Recipient user ID
|
/// Recipient user ID
|
||||||
String? toUserID;
|
String? toUserID;
|
||||||
|
|
||||||
@ -447,9 +492,6 @@ class FriendApplicationInfo {
|
|||||||
/// Recipient user profile picture
|
/// Recipient user profile picture
|
||||||
String? toFaceURL;
|
String? toFaceURL;
|
||||||
|
|
||||||
/// Recipient user gender
|
|
||||||
int? toGender;
|
|
||||||
|
|
||||||
/// Handling result
|
/// Handling result
|
||||||
int? handleResult;
|
int? handleResult;
|
||||||
|
|
||||||
@ -475,11 +517,9 @@ class FriendApplicationInfo {
|
|||||||
{this.fromUserID,
|
{this.fromUserID,
|
||||||
this.fromNickname,
|
this.fromNickname,
|
||||||
this.fromFaceURL,
|
this.fromFaceURL,
|
||||||
this.fromGender,
|
|
||||||
this.toUserID,
|
this.toUserID,
|
||||||
this.toNickname,
|
this.toNickname,
|
||||||
this.toFaceURL,
|
this.toFaceURL,
|
||||||
this.toGender,
|
|
||||||
this.handleResult,
|
this.handleResult,
|
||||||
this.reqMsg,
|
this.reqMsg,
|
||||||
this.createTime,
|
this.createTime,
|
||||||
@ -492,11 +532,9 @@ class FriendApplicationInfo {
|
|||||||
fromUserID = json['fromUserID'];
|
fromUserID = json['fromUserID'];
|
||||||
fromNickname = json['fromNickname'];
|
fromNickname = json['fromNickname'];
|
||||||
fromFaceURL = json['fromFaceURL'];
|
fromFaceURL = json['fromFaceURL'];
|
||||||
fromGender = json['fromGender'];
|
|
||||||
toUserID = json['toUserID'];
|
toUserID = json['toUserID'];
|
||||||
toNickname = json['toNickname'];
|
toNickname = json['toNickname'];
|
||||||
toFaceURL = json['toFaceURL'];
|
toFaceURL = json['toFaceURL'];
|
||||||
toGender = json['toGender'];
|
|
||||||
handleResult = json['handleResult'];
|
handleResult = json['handleResult'];
|
||||||
reqMsg = json['reqMsg'];
|
reqMsg = json['reqMsg'];
|
||||||
createTime = json['createTime'];
|
createTime = json['createTime'];
|
||||||
@ -511,11 +549,9 @@ class FriendApplicationInfo {
|
|||||||
data['fromUserID'] = this.fromUserID;
|
data['fromUserID'] = this.fromUserID;
|
||||||
data['fromNickname'] = this.fromNickname;
|
data['fromNickname'] = this.fromNickname;
|
||||||
data['fromFaceURL'] = this.fromFaceURL;
|
data['fromFaceURL'] = this.fromFaceURL;
|
||||||
data['fromGender'] = this.fromGender;
|
|
||||||
data['toUserID'] = this.toUserID;
|
data['toUserID'] = this.toUserID;
|
||||||
data['toNickname'] = this.toNickname;
|
data['toNickname'] = this.toNickname;
|
||||||
data['toFaceURL'] = this.toFaceURL;
|
data['toFaceURL'] = this.toFaceURL;
|
||||||
data['toGender'] = this.toGender;
|
|
||||||
data['handleResult'] = this.handleResult;
|
data['handleResult'] = this.handleResult;
|
||||||
data['reqMsg'] = this.reqMsg;
|
data['reqMsg'] = this.reqMsg;
|
||||||
data['createTime'] = this.createTime;
|
data['createTime'] = this.createTime;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user