SDK 公开面与文档覆盖
本页回答一个具体问题:这个平台导出的每个公开方法、事件、枚举与数据类型,在文档中心的哪一页被说明?页面由 SDK 制品公开面(api-surface 快照)与 IDL 绑定声明生成,逐项给出签名与文档位置;差异(多余/缺失的方法)如实标注,不做静默补齐。
契约(IDL 语义操作)是语义权威:方法名、参数、返回、错误码、示例都以功能页为准。
制品快照用于确认该平台是否真的导出了该方法;快照与实现不一致时,页面标注差异而不是猜测。
本页只做索引与核对,不重复功能页的参数表与示例。
来源与口径
| 项 | 内容 |
|---|---|
| 制品公开面 | 已读取该平台的 api-surface 快照(103 个公开方法) |
| 契约语义 | IDL 1.0.0 的 103 个语义操作 + 16 个事件 |
| 绑定签名 | 来自 IDL 绑定声明的方法签名(各平台语言风格) |
| 口径说明 | HarmonyOS 为契约预留状态:未随包导出 api-surface 快照,本页以 IDL 绑定声明为准。 |
覆盖摘要
| 类别 | 数量 | 文档承载位置 |
|---|---|---|
| IDL 语义操作 | 103 | 功能页(每操作:说明 + 参数表 + 返回值 + 错误码 + 示例) |
| 绑定便捷方法 | 0 | — |
| 事件 | 16 | 本页事件表 + 连接监听 |
| 枚举 / 常量 | 14 | API 参考「枚举」各页 |
| 数据类型 | 58 | API 参考「类」各页 + 方法参数/返回值表 |
公开方法索引
下表逐项列出本平台导出的公开方法(IDL 语义操作在前,绑定便捷方法在后),并给出承载页面。功能页内的每个操作都有独立的参数表、返回值、错误码与可运行示例。
| 方法 | 本平台签名 / 形态 | 文档位置 |
|---|---|---|
init | static getInstance(options: IMClientOptions): IMClient | 建立连接 |
connect | connect(token: string): Promise<RcResult<ConnectResult>> | 建立连接 |
disconnect | disconnect(): Promise<RcResult<void>> | 建立连接 |
getConnectionStatus | getConnectionStatus(): ConnectionStatus | 建立连接 |
getCurrentUserId | getCurrentUserId(): string | 连接监听 |
addEventListener | addEventListener(event: IMClientEvent, listener: IMClientEventListener): void | 连接监听 |
removeEventListener | removeEventListener(event: IMClientEvent, listener: IMClientEventListener): void | 连接监听 |
sendMessage | sendMessage(conversationType: ConversationType, targetId: string, content: MessageContent, options?: SendOptions): Promise<RcResult<Message>> | 发送消息 |
sendTextMessage | sendTextMessage(conversationType: ConversationType, targetId: string, text: string, options?: TextSendOptions): Promise<RcResult<Message>> | 发送消息 |
sendImageMessage | sendImageMessage(conversationType: ConversationType, targetId: string, content: ImageContent, options?: SendOptions): Promise<RcResult<Message>> | 发送消息 |
sendFileMessage | sendFileMessage(conversationType: ConversationType, targetId: string, content: FileContent, options?: SendOptions): Promise<RcResult<Message>> | 发送消息 |
sendVoiceMessage | sendVoiceMessage(conversationType: ConversationType, targetId: string, content: VoiceContent, options?: SendOptions): Promise<RcResult<Message>> | 发送消息 |
sendLocationMessage | sendLocationMessage(conversationType: ConversationType, targetId: string, content: LocationContent, options?: SendOptions): Promise<RcResult<Message>> | 发送消息 |
sendTypingStatus | sendTypingStatus(conversationType: ConversationType, targetId: string, typing: boolean): Promise<RcResult<void>> | 输入状态 |
recallMessage | recallMessage(messageId: string): Promise<RcResult<Message>> | 消息管理 |
sendReadReceipt | sendReadReceipt(conversationType: ConversationType, targetId: string, messageIds: string[]): Promise<RcResult<SendReadReceiptResult>> | 已读回执 |
getMessageReadCount | getMessageReadCount(messageId: string): Promise<RcResult<MessageReadCount>> | 已读回执 |
getMessageReadUsers | getMessageReadUsers(messageId: string, options?: PageOptions): Promise<RcResult<MessageReadUsers>> | 已读回执 |
getMessageReadDetail | getMessageReadDetail(messageId: string, options?: PageOptions): Promise<RcResult<MessageReadDetail>> | API 参考索引 |
searchMessages | searchMessages(options: SearchMessagesOptions): Promise<RcResult<MessageSearchResult>> | 消息管理 |
getConversationList | getConversationList(): Promise<RcResult<Conversation[]>> | 会话列表 |
getConversation | getConversation(conversationType: ConversationType, targetId: string): Promise<RcResult<Conversation>> | 会话列表 |
getHistoryMessages | getHistoryMessages(conversationType: ConversationType, targetId: string, options?: HistoryOptions): Promise<RcResult<HistoryPage>> | 历史消息 |
clearUnreadCount | clearUnreadCount(conversationType: ConversationType, targetId: string): Promise<RcResult<void>> | 未读数 |
setConversationToTop | setConversationToTop(conversationType: ConversationType, targetId: string, isTop: boolean): Promise<RcResult<void>> | 置顶与免打扰 |
saveTextMessageDraft | saveTextMessageDraft(conversationType: ConversationType, targetId: string, draft: string): Promise<RcResult<void>> | 草稿 |
getTextMessageDraft | getTextMessageDraft(conversationType: ConversationType, targetId: string): Promise<RcResult<string>> | 草稿 |
clearTextMessageDraft | clearTextMessageDraft(conversationType: ConversationType, targetId: string): Promise<RcResult<void>> | 草稿 |
setConversationNotificationLevel | setConversationNotificationLevel(conversationType: ConversationType, targetId: string, level: NotificationLevel): Promise<RcResult<void>> | 置顶与免打扰 |
getUserProfile | getUserProfile(userId: string): Promise<RcResult<UserProfile>> | 用户资料 |
updateMyUserProfile | updateMyUserProfile(profile: UserProfileUpdate): Promise<RcResult<UserProfile>> | 用户资料 |
getOnlineStatus | getOnlineStatus(userId: string): Promise<RcResult<UserOnlineStatus>> | 在线状态 |
getOnlineStatusBatch | getOnlineStatusBatch(userIds: string[]): Promise<RcResult<UserOnlineStatusBatch>> | 在线状态 |
searchUsers | searchUsers(keyword: string, options?: PageOptions): Promise<RcResult<UserSearchResult>> | 好友列表 |
sendFriendRequest | sendFriendRequest(toUserId: string, message?: string): Promise<RcResult<FriendRequest>> | 好友请求 |
getFriendRequests | getFriendRequests(options?: FriendRequestQuery): Promise<RcResult<FriendRequest[]>> | 好友请求 |
acceptFriendRequest | acceptFriendRequest(requestId: string): Promise<RcResult<FriendRequest>> | 好友请求 |
rejectFriendRequest | rejectFriendRequest(requestId: string): Promise<RcResult<FriendRequest>> | 好友请求 |
getFriends | getFriends(): Promise<RcResult<Friend[]>> | 好友列表 |
deleteFriend | deleteFriend(friendId: string): Promise<RcResult<void>> | 好友列表 |
setFriendRemark | setFriendRemark(friendId: string, remark: string): Promise<RcResult<void>> | 好友列表 |
getBlacklist | getBlacklist(): Promise<RcResult<BlacklistEntry[]>> | 黑名单 |
addToBlacklist | addToBlacklist(userId: string): Promise<RcResult<void>> | 黑名单 |
removeFromBlacklist | removeFromBlacklist(userId: string): Promise<RcResult<void>> | 黑名单 |
createGroup | createGroup(options: CreateGroupOptions): Promise<IAsyncResult<Group>> | 创建群组 |
getGroupsInfo | getGroupsInfo(groupIds: string[]): Promise<RcResult<Group[]>> | 创建群组 |
getGroupMembers | getGroupMembers(groupId: string): Promise<RcResult<GroupMember[]>> | 群成员 |
addGroupMembers | addGroupMembers(groupId: string, userIds: string[]): Promise<RcResult<AddGroupMembersResult>> | 群成员 |
removeGroupMembers | removeGroupMembers(groupId: string, userIds: string[]): Promise<RcResult<RemoveGroupMembersResult>> | 群成员 |
quitGroup | quitGroup(groupId: string): Promise<RcResult<void>> | 群成员 |
updateGroupName | updateGroupName(groupId: string, name: string): Promise<RcResult<Group>> | 群管理 |
updateGroupNotice | updateGroupNotice(groupId: string, notice: string): Promise<RcResult<Group>> | 群管理 |
transferGroupOwner | transferGroupOwner(groupId: string, newOwner: string): Promise<RcResult<Group>> | 群管理 |
addGroupAdmin | addGroupAdmin(groupId: string, userId: string): Promise<RcResult<Group>> | 群管理 |
removeGroupAdmin | removeGroupAdmin(groupId: string, userId: string): Promise<RcResult<Group>> | 群管理 |
muteGroupMember | muteGroupMember(groupId: string, userId: string, mutedUntil: number): Promise<RcResult<MuteGroupMemberResult>> | 群管理 |
createChatroom | createChatroom(options: CreateChatroomOptions): Promise<RcResult<Chatroom>> | 加入与退出 |
joinChatroom | joinChatroom(chatroomId: string): Promise<RcResult<Chatroom>> | 加入与退出 |
leaveChatroom | leaveChatroom(chatroomId: string): Promise<RcResult<void>> | 加入与退出 |
getChatroomInfo | getChatroomInfo(chatroomId: string): Promise<RcResult<Chatroom>> | 聊天室信息 |
getChatroomMembers | getChatroomMembers(chatroomId: string, options?: PageOptions): Promise<RcResult<ChatroomMembersPage>> | 聊天室信息 |
getSystemMessages | getSystemMessages(options?: HistoryOptions): Promise<RcResult<HistoryPage>> | 系统通知 |
uploadFile | uploadFile(data: ArrayBuffer, name: string, mime?: string): Promise<RcResult<UploadResult>> | 文件上传 |
updateMessageExpansion | updateMessageExpansion(messageId: string, expansion: Record<string, string>): Promise<IAsyncResult<MessageExpansion>> | 消息进阶 |
removeMessageExpansion | removeMessageExpansion(messageId: string, keys: Array<string>): Promise<IAsyncResult<MessageExpansion>> | 消息进阶 |
addMessageReaction | addMessageReaction(params: UpdateMessageReactionParam): Promise<IAsyncResult<MessageReaction>> | 消息进阶 |
removeMessageReaction | removeMessageReaction(params: UpdateMessageReactionParam): Promise<IAsyncResult<ReactionRemoval>> | 消息进阶 |
batchGetMessageReactionSummaries | batchGetMessageReactionSummaries(params: MessageReactionSummaryQuery): Promise<IAsyncResult<Record<string, MessageReactionSummary[]>>> | 消息进阶 |
getMessageReactions | getMessageReactions(params: GetMessageReactionsParam): Promise<IAsyncResult<MessageReactionPage>> | 消息进阶 |
getMessageReactionUsers | getMessageReactionUsers(params: GetMessageReactionUsersParam): Promise<IAsyncResult<MessageReactionUserPage>> | 消息进阶 |
createConversationTag | createConversationTag(params: CreateConversationTagParam): Promise<IAsyncResult<ConversationTag>> | 会话标签与分组 |
updateConversationTag | updateConversationTag(tagId: string, tagName: string): Promise<IAsyncResult<ConversationTag>> | 会话标签与分组 |
deleteConversationTag | deleteConversationTag(tagId: string): Promise<IAsyncResult<null>> | 会话标签与分组 |
getConversationTags | getConversationTags(): Promise<IAsyncResult<ConversationTag[]>> | 会话标签与分组 |
addConversationsToTag | addConversationsToTag(tagId: string, conversations: ConversationRef[]): Promise<IAsyncResult<ConversationTagMembershipResult>> | 会话标签与分组 |
removeConversationsFromTag | removeConversationsFromTag(tagId: string, conversations: ConversationRef[]): Promise<IAsyncResult<ConversationTagMembershipResult>> | 会话标签与分组 |
getConversationsFromTagByPage | getConversationsFromTagByPage(tagId: string, options?: ConversationTagPageOptions): Promise<IAsyncResult<ConversationTagPage>> | 会话标签与分组 |
getTagsFromConversation | getTagsFromConversation(conversationType: number, targetId: string): Promise<IAsyncResult<ConversationTag[]>> | 会话标签与分组 |
getUnreadCountByTag | getUnreadCountByTag(tagId: string): Promise<IAsyncResult<ConversationTagUnread>> | 会话标签与分组 |
setConversationToTopInTag | setConversationToTopInTag(tagId: string, conversationType: number, targetId: string, top: boolean): Promise<IAsyncResult<null>> | 会话标签与分组 |
deleteConversation | deleteConversation(conversationType: number, targetId: string): Promise<IAsyncResult<{ removed: boolean }>> | 会话删除与类型免打扰 |
getConversationTypeNotification | getConversationTypeNotification(conversationType: number): Promise<IAsyncResult<ConversationTypeNotification>> | 会话删除与类型免打扰 |
setConversationTypeNotification | setConversationTypeNotification(conversationType: number, level: number): Promise<IAsyncResult<ConversationTypeNotification>> | 会话删除与类型免打扰 |
startStreamMessage | startStreamMessage(params: StartStreamMessageParams): Promise<IAsyncResult<StreamMessage>> | 消息进阶 |
appendStreamMessage | appendStreamMessage(streamId: string, delta: string, options?: AppendStreamMessageOptions): Promise<IAsyncResult<StreamMessage>> | 消息进阶 |
completeStreamMessage | completeStreamMessage(streamId: string): Promise<IAsyncResult<StreamCompleteResult>> | 消息进阶 |
getStreamMessage | getStreamMessage(streamId: string): Promise<IAsyncResult<StreamMessage>> | 消息进阶 |
getMessageExpansion | getMessageExpansion(messageId: string): Promise<IAsyncResult<MessageExpansion>> | 消息进阶 |
combineMessages | combineMessages(messages: Message[], options?: CombineMessagesOptions): Promise<IAsyncResult<CombineContent>> | 消息进阶 |
subscribePresence | subscribePresence(userIds: string[]): Promise<IAsyncResult<PresenceSubscription>> | 在线状态订阅与推送令牌 |
unsubscribePresence | unsubscribePresence(userIds: string[]): Promise<IAsyncResult<PresenceSubscription>> | 在线状态订阅与推送令牌 |
getPresenceSubscriptions | getPresenceSubscriptions(): Promise<IAsyncResult<PresenceSubscription>> | 在线状态订阅与推送令牌 |
registerPushToken | registerPushToken(options: RegisterPushTokenOptions): Promise<IAsyncResult<PushToken>> | 在线状态订阅与推送令牌 |
unregisterPushToken | unregisterPushToken(tokenId: string): Promise<IAsyncResult<UnregisterPushTokenResult>> | 在线状态订阅与推送令牌 |
getPushTokens | getPushTokens(): Promise<IAsyncResult<PushTokenListResult>> | 在线状态订阅与推送令牌 |
createSupergroupChannel | createSupergroupChannel(params: CreateSupergroupChannelParams): Promise<IAsyncResult<SupergroupChannel>> | 超级群频道与用户组 |
listSupergroupChannels | listSupergroupChannels(groupId: string): Promise<IAsyncResult<SupergroupChannelListResult>> | 超级群频道与用户组 |
joinSupergroupChannel | joinSupergroupChannel(channelId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<JoinSupergroupChannelResult>> | 超级群频道与用户组 |
leaveSupergroupChannel | leaveSupergroupChannel(channelId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<LeaveSupergroupChannelResult>> | 超级群频道与用户组 |
bindUserGroupToChannel | bindUserGroupToChannel(channelId: string, userGroupId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<BindUserGroupToChannelResult>> | 超级群频道与用户组 |
createUserGroup | createUserGroup(params: CreateUserGroupParams): Promise<IAsyncResult<UserGroup>> | 超级群频道与用户组 |
listUserGroups | listUserGroups(groupId: string): Promise<IAsyncResult<UserGroupListResult>> | 超级群频道与用户组 |
getUserGroupsByUser | getUserGroupsByUser(userId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<UserGroupListResult>> | 超级群频道与用户组 |
事件索引
事件名在所有 GA 平台一致(Web 为小写下划线常量值,原生平台为枚举成员)。事件订阅方式见连接监听页;载荷字段来自 IDL 事件定义。
| 事件 | 载荷 | 本平台导出 | 文档位置 |
|---|---|---|---|
CONNECTING | {attempt:int} | — | API 参考 · 事件载荷 |
CONNECTED | {userId:string, sessionId?:string} | — | API 参考 · 事件载荷 |
DISCONNECT | {code:int, reason:string} | — | API 参考 · 事件载荷 |
SUSPEND | {code:int, reason:string} | — | API 参考 · 事件载荷 |
MESSAGES | {messages:Message[]} | — | API 参考 · 事件载荷 |
CONVERSATION | {conversation:Conversation} | — | API 参考 · 事件载荷 |
MESSAGE_RECALLED | {message:Message} | — | API 参考 · 事件载荷 |
READ_RECEIPT | ReadReceipt | — | API 参考 · 事件载荷 |
TYPING | {conversationType:ConversationType,targetId:string,userId:string,typing:bool,timestamp:int64} | — | API 参考 · 事件载荷 |
MESSAGE_REACTION_CHANGED | {messageId:string,conversationType:ConversationType,targetId:string,reactionId:string,operation:added|removed|cleared,userId:string,reactionTime:int64,totalCount:uint32,users:string[]?} | — | API 参考 · 事件载荷 |
MESSAGE_EXPANSION_CHANGED | {messageId:string,conversationType:ConversationType,targetId:string,updated:Record<string,string>?,removed:string[]?,timestamp:int64} | — | API 参考 · 事件载荷 |
STREAM_MESSAGE_CHANGED | {streamId:string,messageId:string,conversationType:ConversationType,targetId:string,senderId:string,delta:string,seq:uint32,text:string,status:streaming|ended,complete:bool,timestamp:int64} | — | API 参考 · 事件载荷 |
PRESENCE_CHANGED | {userId:string,online:bool,lastSeenAt:int64,timestamp:int64,reason:connect|disconnect|kick|deactivate} | — | API 参考 · 事件载荷 |
FRIEND_EVENT | {kind:FriendEventKind,request?:FriendRequest,fromUserId?:string,toUserId?:string,timestamp:int64} | — | API 参考 · 事件载荷 |
CHATROOM_EVENT | {chatroomId:string,kind:ChatroomEventKind,userId?:string,onlineCount?:uint32,chatroom?:Chatroom,timestamp:int64} | — | API 参考 · 事件载荷 |
KICKED | {code:int,reason:string} | — | API 参考 · 事件载荷 |
枚举与常量索引
枚举取值在 API 参考的「枚举」页逐项列出(名称、取值、语义),错误码另有状态码页。
该平台未导出常量快照;枚举取值以 IDL 语义为准,见 API 参考「枚举」各页。
数据类型索引
公开数据类型分两类:有独立页面的核心结构(消息、会话、群组、内容联合体等),以及只作为参数/返回结构出现的选项与结果对象(字段在对应方法的参数表与返回值中说明)。
| 类型 | 文档位置 |
|---|---|
Chatroom | 数据结构 · Chatroom |
ChatroomMember | 数据结构 · ChatroomMember |
ConnectionStatus | 枚举 · ConnectionStatus |
Conversation | 数据结构 · Conversation |
ConversationType | 枚举 · ConversationType |
Friend | 数据结构 · Friend |
FriendRequest | 数据结构 · FriendRequest |
Group | 数据结构 · Group |
GroupMember | 数据结构 · GroupMember |
GroupType | 枚举 · GroupType |
Message | 数据结构 · Message |
NotificationLevel | 枚举 · NotificationLevel |
UserProfile | 数据结构 · UserProfile |
随方法说明的类型
ChannelType、CombineContent、Config、Content、ConversationRef、ConversationTag、ConversationTagConversation、Conversations、Count、Counts、CurrentUserReacted、GroupId、Groups、IMClient、Id、Ids、Inactive、Indexed、Info、JoinPolicy、Joined、MaxChars、Member、Members、MentionedInfo、MessageReadDetailItem、More、Ms、MsgId、Names、Policy、PushToken、Quote、ReactionSummary、Seq、StreamMessage、SupergroupChannel、Time、Token、Total、Type、Until、Url、UserGroup、Version