RongIMLib - v5.10.4 -> RongIMLib - v5.12.0

新增

DirectionType

好友类型

enum DirectionType {
  BOTH = 2
}

QueryFriendsDirectionType

查询接口-好友类型

enum QueryFriendsDirectionType {
  BOTH = 2
}

FriendAddPermission

加好友权限

enum FriendAddPermission {
  FREE = 1,
  NEED_VERIFY = 2,
  NO_ONE_ALLOWED = 3
}

FriendRelationType

好友关系类型

enum FriendRelationType {
  NONE = 0,
  IN_MY_FRIEND_LIST = 1,
  IN_OTHER_FRIEND_LIST = 2,
  BOTH_WAY = 3
}

FriendApplicationType

好友请求类型

enum FriendApplicationType {
  SENT = 1,
  RECEIVED = 2
}

FriendApplicationStatus

好友请求状态

enum FriendApplicationStatus {
  UNHANDLED = 0,
  ACCEPTED = 1,
  REFUSED = 2,
  EXPIRED = 3
}

GroupJoinPermission

主动加入群权限验证方式

enum GroupJoinPermission {
  OWNER_VERIFY = 0,
  FREE = 1,
  OWNER_OR_MANAGER_VERIFY = 2,
  NO_ONE_ALLOWED = 3
}

GroupOperationPermission

群操作权限

enum GroupOperationPermission {
  OWNER = 0,
  OWNER_OR_MANAGER = 1,
  EVERYONE = 2
}

GroupMemberInfoEditPermission

群成员信息编辑权限

enum GroupMemberInfoEditPermission {
  OWNER_OR_MANAGER_OR_SELF = 0,
  OWNER_OR_SELF = 1,
  SELF = 2
}

GroupInviteHandlePermission

邀请入群验证方式

enum GroupInviteHandlePermission {
  FREE = 0,
  INVITEE_VERIFY = 1
}

GroupMemberRole

群成员角色

enum GroupMemberRole {
  UNDEF = 0,
  NORMAL = 1,
  MANAGER = 2,
  OWNER = 3
}

GroupOperation

群组操作

enum GroupOperation {
  CREATE = 0,
  JOIN = 1,
  KICK = 2,
  QUIT = 3,
  DISMISS = 4,
  ADD_MANAGER = 5,
  REMOVE_MANAGER = 6,
  TRANSFER_GROUP_OWNER = 7
}

GroupOperationType

群组操作类型

enum GroupOperationType {
  ADD = 1,
  REMOVE = 2
}

GroupApplicationStatus

群组请求状态

enum GroupApplicationStatus {
  MANAGER_UNHANDLED = 0,
  MANAGER_REFUSED = 1,
  INVITEE_UNHANDLED = 2,
  INVITEE_REFUSED = 3,
  JOINED = 4,
  EXPIRED = 5
}

GroupApplicationType

请求类型

enum GroupApplicationType {
  APPLICATION = 0,
  INVITATION = 1
}

GroupApplicationDirection

群组请求方向

enum GroupApplicationDirection {
  APPLICATION_SENT = 0,
  INVITATION_SENT = 1,
  INVITATION_RECEIVED = 2,
  APPLICATION_RECEIVED = 3
}

IFriendRelationInfo

好友关系

interface IFriendRelationInfo {
  userId: string,
  relationType: FriendRelationType
}

IFriendInfo

好友信息

interface IFriendInfo {
  userId: string,
  name: string,
  portraitUri: string,
  remark: string,
  extProfile: {
    key: string
  },
  addTime: number,
  directionType: BOTH,
  inBlackList: boolean
}

IFriendApplicationInfo

好友请求信息

interface IFriendApplicationInfo {
  userId: string,
  name: string,
  portraitUri: string,
  applicationType: FriendApplicationType,
  applicationStatus: FriendApplicationStatus,
  operationTime: number,
  extra: string
}

IFriendAdd

添加好友

interface IFriendAdd {
  userId: string,
  name: string,
  portraitUri: string,
  directionType: BOTH,
  operationTime: number
}

IFriendDelete

删除好友

interface IFriendDelete {
  userIds: string[],
  directionType: BOTH,
  operationTime: number
}

IFriendApplicationStatusChange

好有申请状态变更

interface IFriendApplicationStatusChange {
  userId: string,
  applicationType: FriendApplicationType,
  applicationStatus: FriendApplicationStatus,
  directionType: BOTH,
  operationTime: number,
  extra: string
}

IFriendInfoChangedSync

多端同步好友关系变更

interface IFriendInfoChangedSync {
  userId: string,
  remark: string,
  extProfile: {
    key: string
  },
  operationTime: number
}

IPagingQueryOption

分页查询参数

interface IPagingQueryOption {
  count: number,
  pageToken?: string,
  order?: boolean
}

IPagingQueryResult

分页请求结果

interface IPagingQueryResult {
  pageToken: string,
  totalCount?: number,
  data: T[]
}

IGroupInfoOption

群组信息设置参数

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
}

IGroupInfo

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
}

IQuitGroupConfig

踢出群组或者主动退群配置

interface IQuitGroupConfig {
  removeMuteStatus: boolean,
  removeWhiteList: boolean,
  removeFollow: boolean
}

IGroupMemberInfo

群成员信息

interface IGroupMemberInfo {
  userId: string,
  name: string,
  portraitUri: string,
  nickname?: string,
  extra?: string,
  role?: GroupMemberRole,
  joinedTime?: number
}

IFollowsInfo

特别关注信息

interface IFollowsInfo {
  userId: string,
  time: number
}

IGroupApplicationInfo

群申请信息

interface IGroupApplicationInfo {
  groupId: string,
  joinMemberInfo: IGroupMemberInfo,
  inviterInfo?: IGroupMemberInfo,
  operatorInfo?: IGroupMemberInfo,
  status: GroupApplicationStatus,
  direction: GroupApplicationDirection,
  type: GroupApplicationType,
  operationTime: number,
  reason: string
}

IGroupMembers

群申请列表

interface IGroupMembers {
  memberCount: number,
  members: IGroupMemberInfo[]
}

IGroupFollowsList

特别关注信息列表

interface IGroupFollowsList {
  groupId: string,
  followCount: number,
  follows: IGroupFollowsUserInfo[]
}

IGroupFollowsUserInfo

特别关注用户信息

interface IGroupFollowsUserInfo {
  userId: string,
  nickname: string,
  role: GroupMemberRole,
  joinTime: number,
  followTime: number,
  extra: string
}

IGroupOperationInfo

群组操作信息

interface IGroupOperationInfo {
  groupId: string,
  operatorInfo?: IGroupMemberInfo,
  groupInfo?: IGroupInfo,
  operation: GroupOperation,
  memberInfos?: IGroupMemberInfo[],
  operationTime: number
}

IGroupMemberInfoChanged

群成员信息变更

interface IGroupMemberInfoChanged {
  groupId: string,
  operatorInfo: IGroupMemberInfo,
  memberInfo: IGroupMemberInfo,
  operationTime: number
}

IGroupInfoChanged

群组资料变更回调

interface IGroupInfoChanged {
  operatorInfo: IGroupMemberInfo,
  groupInfo: IGroupInfo,
  operationTime: number
}

IGroupRemarkChangedSync

群组备注更新信息

interface IGroupRemarkChangedSync {
  groupId: string,
  operationType: GroupOperationType,
  operationTime: number,
  groupRemark: string
}

IGroupFollowsChangedSync

特别关注用户变更

interface IGroupFollowsChangedSync {
  groupId: string,
  operationType: GroupOperationType,
  operationTime: number,
  userIds: string[]
}

IProcessCode

interface IProcessCode {
  processCode: ErrorCode
}

addFriend

添加好友

function addFriend(userId: string, directionType: BOTH, extra?: string): Promise<IAsyncRes<IProcessCode>>

deleteFriends

解除好友

function deleteFriends(userIds: string[], directionType: BOTH): Promise<IAsyncRes<void>>

acceptFriendApplication

同意加为好友

function acceptFriendApplication(userId: string): Promise<IAsyncRes<void>>

refuseFriendApplication

拒绝加为好友

function refuseFriendApplication(userId: string): Promise<IAsyncRes<void>>

setFriendInfo

设置好友信息

function setFriendInfo(userId: string, remark: string, extProfile: {
  key: string
}): Promise<IAsyncRes<void>>

checkFriends

检查好友关系

function checkFriends(userIds: string[], directionType: BOTH): Promise<IAsyncRes<IFriendRelationInfo[]>>

getFriends

获取好友列表

function getFriends(directionType: BOTH, option: IPagingQueryOption): Promise<IAsyncRes<IPagingQueryResult<IFriendInfo>>>

getFriendApplications

分页获取好友请求列表

function getFriendApplications(option: IPagingQueryOption, types?: FriendApplicationType[], status?: FriendApplicationStatus[]): Promise<IAsyncRes<IPagingQueryResult<IFriendApplicationInfo>>>

getFriendsInfo

根据用户ID获取好友信息

function getFriendsInfo(userIds: string[]): Promise<IAsyncRes<IFriendInfo[]>>

searchFriendsInfo

根据好友昵称搜索好友信息 此接口仅 Electron 平台支持

function searchFriendsInfo(name: string): Promise<IAsyncRes<IFriendInfo[]>>

setFriendAddPermission

设置当前用户的加好友权限

function setFriendAddPermission(permission: FriendAddPermission): Promise<IAsyncRes<void>>

getFriendAddPermission

获取当前用户的加好友权限

function getFriendAddPermission(): Promise<IAsyncRes<FriendAddPermission>>

createGroup

创建群组

function createGroup(groupInfo: IGroupInfoOption, inviteeUserIds?: string[]): Promise<IAsyncRes<IProcessCode>>

updateGroupInfo

设置群资料

function updateGroupInfo(groupInfo: IGroupInfoOption): Promise<IAsyncRes<void>>

getGroupsInfo

批量获取群组信息

function getGroupsInfo(groupIds: string[]): Promise<IAsyncRes<IGroupInfo[]>>

kickGroupMembers

踢出群组成员

function kickGroupMembers(groupId: string, userIds: string[], config: IQuitGroupConfig): Promise<IAsyncRes<void>>

quitGroup

退出群组

function quitGroup(groupId: string, config: IQuitGroupConfig): Promise<IAsyncRes<void>>

dismissGroup

解散群组

function dismissGroup(groupId: string): Promise<IAsyncRes<void>>

transferGroupOwner

转让群组

function transferGroupOwner(groupId: string, newOwnerId: string, quitGroup: boolean, config: IQuitGroupConfig): Promise<IAsyncRes<void>>

addGroupManagers

设置群管理员

function addGroupManagers(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>

removeGroupManagers

移除群管理员

function removeGroupManagers(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>

getGroupMembersByRole

分页获取群成员信息

function getGroupMembersByRole(groupId: string, role: GroupMemberRole, option: IPagingQueryOption): Promise<IAsyncRes<IPagingQueryResult<IGroupMemberInfo>>>

getGroupMembers

获取已加入指定群成员信息

function getGroupMembers(groupId: string, userIds: string[]): Promise<IAsyncRes<IGroupMemberInfo[]>>

setGroupMemberInfo

设置群成员资料

function setGroupMemberInfo(groupId: string, userId: string, nickname: string, extra?: string): Promise<IAsyncRes<void>>

searchGroupMembers

根据昵称搜索群成员信息

function searchGroupMembers(groupId: string, name: string, option: IPagingQueryOption): Promise<IAsyncRes<IGroupMemberInfo[]>>

joinGroup

加入群组

function joinGroup(groupId: string): Promise<IAsyncRes<IProcessCode>>

inviteUsersToGroup

邀请用户加入群组

function inviteUsersToGroup(groupId: string, userIds: string[]): Promise<IAsyncRes<IProcessCode>>

acceptGroupInvite

用户同意加入群组

function acceptGroupInvite(groupId: string, inviterId: string): Promise<IAsyncRes<void>>

refuseGroupInvite

用户拒绝加入群组

function refuseGroupInvite(groupId: string, inviterId: string, reason?: string): Promise<IAsyncRes<void>>

acceptGroupApplication

群主或管理员同意用户加入群组

function acceptGroupApplication(groupId: string, applicantId: string, inviterId?: string): Promise<IAsyncRes<IProcessCode>>

refuseGroupApplication

群主或管理员拒绝用户加入群组

function refuseGroupApplication(groupId: string, applicantId: string, inviterId?: string, reason?: string): Promise<IAsyncRes<void>>

getGroupApplications

获取群组请求

function getGroupApplications(option: IPagingQueryOption, directions?: GroupApplicationDirection[], status?: GroupApplicationStatus[]): Promise<IAsyncRes<IPagingQueryResult<IGroupApplicationInfo>>>

getJoinedGroupsByRole

获取用户所在的群组

function getJoinedGroupsByRole(option: IPagingQueryOption, role: GroupMemberRole): Promise<IAsyncRes<IPagingQueryResult<IGroupInfo>>>

searchJoinedGroups

按群名称搜索我加入的群组

function searchJoinedGroups(groupName: string, option: IPagingQueryOption): Promise<IAsyncRes<IPagingQueryResult<IGroupInfo>>>

getJoinedGroups

批量获取群组信息

function getJoinedGroups(groupIds: string[]): Promise<IAsyncRes<IGroupInfo[]>>

setGroupRemark

设置群组名称

function setGroupRemark(groupId: string, remark: string): Promise<IAsyncRes<void>>

addGroupFollows

设置群组成员关注

function addGroupFollows(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>

removeGroupFollows

移除群组成员关注

function removeGroupFollows(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>

getGroupFollows

获取群组成员关注

function getGroupFollows(groupId: string): Promise<IAsyncRes<IFollowsInfo[]>>

变更

ErrorCode

融云 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,}

SubscribeType

订阅类型

enum SubscribeType {
   FRIEND_ONLINE_STATUS = 3,   FRIEND_USER_PROFILE = 4,}

UserProfileVisibility

用户权限

enum UserProfileVisibility {
   FriendVisible = 3,}

Events

事件监听名称

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",}

EventListeners

事件监听器

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,}