Browse SDKs · HarmonyOS
Platform
SDKsHarmonyOSEnterprise

Retrieve blocklist

Query users blocked by the current account and listen for blocklist events.

Copy

Blocklist state is maintained independently of friendships, group memberships, and administrative bans. Query the blocklist without passing parameters:

Code example

import sdk, {
  EventOnBlackAddedData,
  EventOnBlackDeletedData,
  GetBlacksResp,
  OpenIMSDKEvent,
} from '@openimsdk/imsdk';

const response: GetBlacksResp = await sdk.getBlacks();
replaceBlockedUsers(response.blacks);

const handleBlackAdded = (data: EventOnBlackAddedData): void => {
  mergeBlockedUser(data.black);
};
const handleBlackDeleted = (data: EventOnBlackDeletedData): void => {
  removeBlockedUser(data.black.blockUserID);
};
const unsubscribeAdded = sdk.on(OpenIMSDKEvent.EventOnBlackAdded, handleBlackAdded);
const unsubscribeDeleted = sdk.on(OpenIMSDKEvent.EventOnBlackDeleted, handleBlackDeleted);

export function removeBlacklistListeners(): void {
  unsubscribeAdded();
  unsubscribeDeleted();
}

Return value

Returns a Promise that resolves to a GetBlacksResp object containing blacks: IMBlack[]:

PropertyTypeDescription
blockUserIDstringBlocked user identifier.
nicknamestringBlocked user's nickname.
faceURLstringBlocked user's avatar URL.
ownerUserIDstringUser ID of the account owning this blocklist entry.
createTimenumberBlock action timestamp in Unix milliseconds.
exstringCustom metadata extension string.

State changes after the call

Resolving the Promise provides the blocklist snapshot. Incoming real-time events fire through EventOnBlackAdded and EventOnBlackDeleted; correlate updates using blockUserID. Release listeners with removeBlacklistListeners() when signing out or unmounting views. Re-query whenever network reconnection completes.