好友类型
enum DirectionType {
BOTH = 2
}
查询接口-好友类型
enum QueryFriendsDirectionType {
BOTH = 2
}
加好友权限
enum FriendAddPermission {
FREE = 1,
NEED_VERIFY = 2,
NO_ONE_ALLOWED = 3
}
好友关系类型
enum FriendRelationType {
NONE = 0,
IN_MY_FRIEND_LIST = 1,
IN_OTHER_FRIEND_LIST = 2,
BOTH_WAY = 3
}
好友请求类型
enum FriendApplicationType {
SENT = 1,
RECEIVED = 2
}
好友请求状态
enum FriendApplicationStatus {
UNHANDLED = 0,
ACCEPTED = 1,
REFUSED = 2,
EXPIRED = 3
}
主动加入群权限验证方式
enum GroupJoinPermission {
OWNER_VERIFY = 0,
FREE = 1,
OWNER_OR_MANAGER_VERIFY = 2,
NO_ONE_ALLOWED = 3
}
群操作权限
enum GroupOperationPermission {
OWNER = 0,
OWNER_OR_MANAGER = 1,
EVERYONE = 2
}
群成员信息编辑权限
enum GroupMemberInfoEditPermission {
OWNER_OR_MANAGER_OR_SELF = 0,
OWNER_OR_SELF = 1,
SELF = 2
}
邀请入群验证方式
enum GroupInviteHandlePermission {
FREE = 0,
INVITEE_VERIFY = 1
}
群成员角色
enum GroupMemberRole {
UNDEF = 0,
NORMAL = 1,
MANAGER = 2,
OWNER = 3
}
群组操作
enum GroupOperation {
CREATE = 0,
JOIN = 1,
KICK = 2,
QUIT = 3,
DISMISS = 4,
ADD_MANAGER = 5,
REMOVE_MANAGER = 6,
TRANSFER_GROUP_OWNER = 7
}
群组操作类型
enum GroupOperationType {
ADD = 1,
REMOVE = 2
}
群组请求状态
enum GroupApplicationStatus {
MANAGER_UNHANDLED = 0,
MANAGER_REFUSED = 1,
INVITEE_UNHANDLED = 2,
INVITEE_REFUSED = 3,
JOINED = 4,
EXPIRED = 5
}
请求类型
enum GroupApplicationType {
APPLICATION = 0,
INVITATION = 1
}
群组请求方向
enum GroupApplicationDirection {
APPLICATION_SENT = 0,
INVITATION_SENT = 1,
INVITATION_RECEIVED = 2,
APPLICATION_RECEIVED = 3
}
好友关系
interface IFriendRelationInfo {
userId: string,
relationType: FriendRelationType
}
好友信息
interface IFriendInfo {
userId: string,
name: string,
portraitUri: string,
remark: string,
extProfile: {
key: string
},
addTime: number,
directionType: BOTH,
inBlackList: boolean
}
好友请求信息
interface IFriendApplicationInfo {
userId: string,
name: string,
portraitUri: string,
applicationType: FriendApplicationType,
applicationStatus: FriendApplicationStatus,
operationTime: number,
extra: string
}
添加好友
interface IFriendAdd {
userId: string,
name: string,
portraitUri: string,
directionType: BOTH,
operationTime: number
}
删除好友
interface IFriendDelete {
userIds: string[],
directionType: BOTH,
operationTime: number
}
好有申请状态变更
interface IFriendApplicationStatusChange {
userId: string,
applicationType: FriendApplicationType,
applicationStatus: FriendApplicationStatus,
directionType: BOTH,
operationTime: number,
extra: string
}
多端同步好友关系变更
interface IFriendInfoChangedSync {
userId: string,
remark: string,
extProfile: {
key: string
},
operationTime: number
}
分页查询参数
interface IPagingQueryOption {
count: number,
pageToken?: string,
order?: boolean
}
分页请求结果
interface IPagingQueryResult {
pageToken: string,
totalCount?: number,
data: T[]
}
群组信息设置参数
interface IGroupInfoOption {
introduction?: string,
notice?: string,
extProfile?: {
key: string
},
joinPermission?: GroupJoinPermission,
removeMemberPermission?: GroupOperationPermission,
invitePermission?: GroupOperationPermission,
inviteHandlePermission?: GroupInviteHandlePermission,
groupInfoEditPermission?: GroupOperationPermission,
memberInfoEditPermission?: GroupMemberInfoEditPermission,
groupId: string,
groupName?: string,
portraitUri?: string
}
interface IGroupInfo {
introduction?: string,
notice?: string,
extProfile?: {
key: string
},
joinPermission?: GroupJoinPermission,
removeMemberPermission?: GroupOperationPermission,
invitePermission?: GroupOperationPermission,
inviteHandlePermission?: GroupInviteHandlePermission,
groupInfoEditPermission?: GroupOperationPermission,
memberInfoEditPermission?: GroupMemberInfoEditPermission,
groupId: string,
groupName?: string,
portraitUri?: string,
remark?: string,
role?: GroupMemberRole,
joinedTime?: number,
creatorId?: string,
ownerId?: string,
createTime?: number,
membersCount?: number
}
踢出群组或者主动退群配置
interface IQuitGroupConfig {
removeMuteStatus: boolean,
removeWhiteList: boolean,
removeFollow: boolean
}
群成员信息
interface IGroupMemberInfo {
userId: string,
name: string,
portraitUri: string,
nickname?: string,
extra?: string,
role?: GroupMemberRole,
joinedTime?: number
}
特别关注信息
interface IFollowsInfo {
userId: string,
time: number
}
群申请信息
interface IGroupApplicationInfo {
groupId: string,
joinMemberInfo: IGroupMemberInfo,
inviterInfo?: IGroupMemberInfo,
operatorInfo?: IGroupMemberInfo,
status: GroupApplicationStatus,
direction: GroupApplicationDirection,
type: GroupApplicationType,
operationTime: number,
reason: string
}
群申请列表
interface IGroupMembers {
memberCount: number,
members: IGroupMemberInfo[]
}
特别关注信息列表
interface IGroupFollowsList {
groupId: string,
followCount: number,
follows: IGroupFollowsUserInfo[]
}
特别关注用户信息
interface IGroupFollowsUserInfo {
userId: string,
nickname: string,
role: GroupMemberRole,
joinTime: number,
followTime: number,
extra: string
}
群组操作信息
interface IGroupOperationInfo {
groupId: string,
operatorInfo?: IGroupMemberInfo,
groupInfo?: IGroupInfo,
operation: GroupOperation,
memberInfos?: IGroupMemberInfo[],
operationTime: number
}
群成员信息变更
interface IGroupMemberInfoChanged {
groupId: string,
operatorInfo: IGroupMemberInfo,
memberInfo: IGroupMemberInfo,
operationTime: number
}
群组资料变更回调
interface IGroupInfoChanged {
operatorInfo: IGroupMemberInfo,
groupInfo: IGroupInfo,
operationTime: number
}
群组备注更新信息
interface IGroupRemarkChangedSync {
groupId: string,
operationType: GroupOperationType,
operationTime: number,
groupRemark: string
}
特别关注用户变更
interface IGroupFollowsChangedSync {
groupId: string,
operationType: GroupOperationType,
operationTime: number,
userIds: string[]
}
interface IProcessCode {
processCode: ErrorCode
}
添加好友
function addFriend(userId: string, directionType: BOTH, extra?: string): Promise<IAsyncRes<IProcessCode>>
解除好友
function deleteFriends(userIds: string[], directionType: BOTH): Promise<IAsyncRes<void>>
同意加为好友
function acceptFriendApplication(userId: string): Promise<IAsyncRes<void>>
拒绝加为好友
function refuseFriendApplication(userId: string): Promise<IAsyncRes<void>>
设置好友信息
function setFriendInfo(userId: string, remark: string, extProfile: {
key: string
}): Promise<IAsyncRes<void>>
检查好友关系
function checkFriends(userIds: string[], directionType: BOTH): Promise<IAsyncRes<IFriendRelationInfo[]>>
获取好友列表
function getFriends(directionType: BOTH, option: IPagingQueryOption): Promise<IAsyncRes<IPagingQueryResult<IFriendInfo>>>
分页获取好友请求列表
function getFriendApplications(option: IPagingQueryOption, types?: FriendApplicationType[], status?: FriendApplicationStatus[]): Promise<IAsyncRes<IPagingQueryResult<IFriendApplicationInfo>>>
根据用户ID获取好友信息
function getFriendsInfo(userIds: string[]): Promise<IAsyncRes<IFriendInfo[]>>
根据好友昵称搜索好友信息 此接口仅 Electron 平台支持
function searchFriendsInfo(name: string): Promise<IAsyncRes<IFriendInfo[]>>
设置当前用户的加好友权限
function setFriendAddPermission(permission: FriendAddPermission): Promise<IAsyncRes<void>>
获取当前用户的加好友权限
function getFriendAddPermission(): Promise<IAsyncRes<FriendAddPermission>>
创建群组
function createGroup(groupInfo: IGroupInfoOption, inviteeUserIds?: string[]): Promise<IAsyncRes<IProcessCode>>
设置群资料
function updateGroupInfo(groupInfo: IGroupInfoOption): Promise<IAsyncRes<void>>
批量获取群组信息
function getGroupsInfo(groupIds: string[]): Promise<IAsyncRes<IGroupInfo[]>>
踢出群组成员
function kickGroupMembers(groupId: string, userIds: string[], config: IQuitGroupConfig): Promise<IAsyncRes<void>>
退出群组
function quitGroup(groupId: string, config: IQuitGroupConfig): Promise<IAsyncRes<void>>
解散群组
function dismissGroup(groupId: string): Promise<IAsyncRes<void>>
转让群组
function transferGroupOwner(groupId: string, newOwnerId: string, quitGroup: boolean, config: IQuitGroupConfig): Promise<IAsyncRes<void>>
设置群管理员
function addGroupManagers(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
移除群管理员
function removeGroupManagers(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
分页获取群成员信息
function getGroupMembersByRole(groupId: string, role: GroupMemberRole, option: IPagingQueryOption): Promise<IAsyncRes<IPagingQueryResult<IGroupMemberInfo>>>
获取已加入指定群成员信息
function getGroupMembers(groupId: string, userIds: string[]): Promise<IAsyncRes<IGroupMemberInfo[]>>
设置群成员资料
function setGroupMemberInfo(groupId: string, userId: string, nickname: string, extra?: string): Promise<IAsyncRes<void>>
根据昵称搜索群成员信息
function searchGroupMembers(groupId: string, name: string, option: IPagingQueryOption): Promise<IAsyncRes<IGroupMemberInfo[]>>
加入群组
function joinGroup(groupId: string): Promise<IAsyncRes<IProcessCode>>
邀请用户加入群组
function inviteUsersToGroup(groupId: string, userIds: string[]): Promise<IAsyncRes<IProcessCode>>
用户同意加入群组
function acceptGroupInvite(groupId: string, inviterId: string): Promise<IAsyncRes<void>>
用户拒绝加入群组
function refuseGroupInvite(groupId: string, inviterId: string, reason?: string): Promise<IAsyncRes<void>>
群主或管理员同意用户加入群组
function acceptGroupApplication(groupId: string, applicantId: string, inviterId?: string): Promise<IAsyncRes<IProcessCode>>
群主或管理员拒绝用户加入群组
function refuseGroupApplication(groupId: string, applicantId: string, inviterId?: string, reason?: string): Promise<IAsyncRes<void>>
获取群组请求
function getGroupApplications(option: IPagingQueryOption, directions?: GroupApplicationDirection[], status?: GroupApplicationStatus[]): Promise<IAsyncRes<IPagingQueryResult<IGroupApplicationInfo>>>
获取用户所在的群组
function getJoinedGroupsByRole(option: IPagingQueryOption, role: GroupMemberRole): Promise<IAsyncRes<IPagingQueryResult<IGroupInfo>>>
按群名称搜索我加入的群组
function searchJoinedGroups(groupName: string, option: IPagingQueryOption): Promise<IAsyncRes<IPagingQueryResult<IGroupInfo>>>
批量获取群组信息
function getJoinedGroups(groupIds: string[]): Promise<IAsyncRes<IGroupInfo[]>>
设置群组名称
function setGroupRemark(groupId: string, remark: string): Promise<IAsyncRes<void>>
设置群组成员关注
function addGroupFollows(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
移除群组成员关注
function removeGroupFollows(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
获取群组成员关注
function getGroupFollows(groupId: string): Promise<IAsyncRes<IFollowsInfo[]>>
融云 IM 错误码
enum ErrorCode {
RC_GROUP_ILLEGAL_ERROR = 25404, RC_GROUP_AUTHORITY_ERROR = 25405, RC_GROUP_PARAMETER_LENGTH_EXCEED_LIMIT = 25406, RC_GROUP_PARAMETER_FORMAT_ERROR = 25407, RC_GROUP_PARAMETER_VALUE_CAN_ONLY_BE_NUMBERS = 25408, RC_GROUP_ID_ALREADY_EXIST = 25409, RC_GROUP_ID_NOT_EXIST = 25410, RC_GROUP_MEMBERS_COUNT_EXCEED_LIMIT = 25411, RC_GROUP_MEMBERS_ALREADY_IN_GROUP = 25412, RC_GROUP_NOT_ALLOW_SDK_OPERATION = 25413, RC_GROUP_NOT_ALLOW_JOIN = 25414, RC_GROUP_EXT_KEY_NOT_EXIST = 25415, RC_GROUP_REQUEST_OVERFREQUENCY = 25416, RC_GROUP_OWNER_NOT_ALLOW_QUIT_OR_KICK = 25417, RC_GROUP_USER_NOT_IN_GROUP = 25418, RC_GROUP_MANAGER_OR_FOLLOW_COUNT_EXCEED_LIMIT = 25419, RC_GROUP_USER_IS_NOT_MANAGER_IN_GROUP = 25420, RC_GROUP_APPLICATION_NOT_EXIST = 25421, RC_GROUP_QUERY_GROUP_COUNT_EXCEED_LIMIT = 25422, RC_GROUP_NAME_INVALID = 25423, RC_GROUP_JOIN_GROUP_NEED_MANAGER_ACCEPT = 25424, RC_GROUP_OWNER_NOT_ALLOW_BE_MANAGER = 25425, RC_GROUP_NO_INVITE_PERMISSION = 25426, RC_GROUP_NEED_INVITEE_ACCEPT = 25427, RC_GROUP_APPLICATION_ALREADY_HANDLE = 25428, RC_FRIEND_ALREADY_FRIEND = 25460, RC_FRIEND_NEED_ACCEPT = 25461, RC_FRIEND_IN_OTHER_BLACK_LIST = 25462, RC_FRIEND_NOT_IN_OTHER_WHITE_LIST = 25463, RC_FRIEND_IN_MY_BLACK_LIST = 25464, RC_FRIEND_NOT_IN_MY_WHITE_LIST = 25465, RC_FRIEND_APPLICATION_NOT_EXIST = 25466, RC_FRIEND_MY_FRIEND_COUNT_EXCEED_LIMIT = 25467, RC_FRIEND_OTHER_FRIEND_COUNT_EXCEED_LIMIT = 25468, RC_FRIEND_NOT_FRIEND = 25469, RC_FRIEND_FIELDS_LENGTH_EXCEED_LIMIT = 25470, RC_FRIEND_OTHER_NOT_ALLOW_ADD_FRIEND = 25471, RC_FRIEND_NOT_EXIST = 25472, RC_FRIEND_NOT_ALLOW_ADD_SELF = 25473, DB_UPGRADE_FAILED = 34315, INVALID_PARAMETER_GROUP_INFO = 34318, INVALID_PARAMETER_GROUP_ID = 34319, INVALID_PARAMETER_GROUP_NAME = 34320, INVALID_PARAMETER_GROUP_IDS = 34321, INVALID_PARAMETER_GROUP_MEMBER_ROLE = 34322, INVALID_PARAMETER_GROUP_APPLICATION_STATUS = 34323, INVALID_PARAMETER_GROUP_APPLICATION_DIRECTION = 34324, INVALID_PARAMETER_NICK_NAME = 34325, INVALID_PARAMETER_REASON = 34326, INVALID_PARAMETER_REMARK = 34327, INVALID_PARAMETER_PAGING_QUERY_OPTION = 34328, NET_DATA_IS_SYNCHRONIZING = 34329, INVALID_PARAMETER_QUERY_FRIENDS_DIRECTION_TYPE = 34330, INVALID_PARAMETER_DIRECTION_TYPE = 34331, INVALID_PARAMETER_FRIEND_APPLICATION_TYPE = 34332, INVALID_PARAMETER_FRIEND_APPLICATION_STATUS = 34333, INVALID_PARAMETER_FRIEND_ADD_PERMISSION = 34334, INVALID_PARAMETER_FRIEND_INFO_EXT_FIELDS = 34335,}
订阅类型
enum SubscribeType {
FRIEND_ONLINE_STATUS = 3, FRIEND_USER_PROFILE = 4,}
用户权限
enum UserProfileVisibility {
FriendVisible = 3,}
事件监听名称
enum Events {
GROUP_OPERATION = "GROUP_OPERATION", GROUP_INFO_CHANGED = "GROUP_INFO_CHANGED", GROUP_MEMBER_INFO_CHANGED = "GROUP_MEMBER_INFO_CHANGED", GROUP_APPLICATION_EVENT = "GROUP_APPLICATION_EVENT", GROUP_REMARK_CHANGED_SYNC = "GROUP_REMARK_CHANGED_SYNC", GROUP_FOLLOWS_CHANGED_SYNC = "GROUP_FOLLOWS_CHANGED_SYNC", FRIEND_ADDED = "FRIEND_ADDED", FRIEND_DELETE = "FRIEND_DELETE", FRIEND_APPLICATION_STATUS_CHANGED = "FRIEND_APPLICATION_STATUS_CHANGED", FRIEND_CLEARED = "FRIEND_CLEARED", FRIEND_INFO_CHANGED_SYNC = "FRIEND_INFO_CHANGED_SYNC",}
事件监听器
type EventListeners = { GROUP_OPERATION: (data: IGroupOperationInfo) => void, GROUP_INFO_CHANGED: (data: IGroupInfoChanged) => void, GROUP_MEMBER_INFO_CHANGED: (data: IGroupMemberInfoChanged) => void, GROUP_APPLICATION_EVENT: (data: IGroupApplicationInfo) => void, GROUP_REMARK_CHANGED_SYNC: (data: IGroupRemarkChangedSync) => void, GROUP_FOLLOWS_CHANGED_SYNC: (data: IGroupFollowsChangedSync) => void, FRIEND_ADDED: (data: IFriendAdd) => void, FRIEND_DELETE: (data: IFriendDelete) => void, FRIEND_APPLICATION_STATUS_CHANGED: (data: IFriendApplicationStatusChange) => void, FRIEND_CLEARED: (data: number) => void, FRIEND_INFO_CHANGED_SYNC: (data: IFriendInfoChangedSync) => void,}