SDK 公开面与文档覆盖

本页回答一个具体问题:这个平台导出的每个公开方法、事件、枚举与数据类型,在文档中心的哪一页被说明?页面由 SDK 制品公开面(api-surface 快照)与 IDL 绑定声明生成,逐项给出签名与文档位置;差异(多余/缺失的方法)如实标注,不做静默补齐。

口径

契约(IDL 语义操作)是语义权威:方法名、参数、返回、错误码、示例都以功能页为准。

制品快照用于确认该平台是否真的导出了该方法;快照与实现不一致时,页面标注差异而不是猜测。

本页只做索引与核对,不重复功能页的参数表与示例。

来源与口径​

项内容
制品公开面已读取该平台的 api-surface 快照(103 个公开方法)
契约语义IDL 1.0.0 的 103 个语义操作 + 16 个事件
绑定签名来自 IDL 绑定声明的方法签名(各平台语言风格)
口径说明HarmonyOS 为契约预留状态:未随包导出 api-surface 快照,本页以 IDL 绑定声明为准。

覆盖摘要​

类别数量文档承载位置
IDL 语义操作103功能页(每操作:说明 + 参数表 + 返回值 + 错误码 + 示例)
绑定便捷方法0—
事件16本页事件表 + 连接监听
枚举 / 常量14API 参考「枚举」各页
数据类型58API 参考「类」各页 + 方法参数/返回值表

公开方法索引​

下表逐项列出本平台导出的公开方法(IDL 语义操作在前,绑定便捷方法在后),并给出承载页面。功能页内的每个操作都有独立的参数表、返回值、错误码与可运行示例。

方法本平台签名 / 形态文档位置
initstatic getInstance(options: IMClientOptions): IMClient建立连接
connectconnect(token: string): Promise<RcResult<ConnectResult>>建立连接
disconnectdisconnect(): Promise<RcResult<void>>建立连接
getConnectionStatusgetConnectionStatus(): ConnectionStatus建立连接
getCurrentUserIdgetCurrentUserId(): string连接监听
addEventListeneraddEventListener(event: IMClientEvent, listener: IMClientEventListener): void连接监听
removeEventListenerremoveEventListener(event: IMClientEvent, listener: IMClientEventListener): void连接监听
sendMessagesendMessage(conversationType: ConversationType, targetId: string, content: MessageContent, options?: SendOptions): Promise<RcResult<Message>>发送消息
sendTextMessagesendTextMessage(conversationType: ConversationType, targetId: string, text: string, options?: TextSendOptions): Promise<RcResult<Message>>发送消息
sendImageMessagesendImageMessage(conversationType: ConversationType, targetId: string, content: ImageContent, options?: SendOptions): Promise<RcResult<Message>>发送消息
sendFileMessagesendFileMessage(conversationType: ConversationType, targetId: string, content: FileContent, options?: SendOptions): Promise<RcResult<Message>>发送消息
sendVoiceMessagesendVoiceMessage(conversationType: ConversationType, targetId: string, content: VoiceContent, options?: SendOptions): Promise<RcResult<Message>>发送消息
sendLocationMessagesendLocationMessage(conversationType: ConversationType, targetId: string, content: LocationContent, options?: SendOptions): Promise<RcResult<Message>>发送消息
sendTypingStatussendTypingStatus(conversationType: ConversationType, targetId: string, typing: boolean): Promise<RcResult<void>>输入状态
recallMessagerecallMessage(messageId: string): Promise<RcResult<Message>>消息管理
sendReadReceiptsendReadReceipt(conversationType: ConversationType, targetId: string, messageIds: string[]): Promise<RcResult<SendReadReceiptResult>>已读回执
getMessageReadCountgetMessageReadCount(messageId: string): Promise<RcResult<MessageReadCount>>已读回执
getMessageReadUsersgetMessageReadUsers(messageId: string, options?: PageOptions): Promise<RcResult<MessageReadUsers>>已读回执
getMessageReadDetailgetMessageReadDetail(messageId: string, options?: PageOptions): Promise<RcResult<MessageReadDetail>>API 参考索引
searchMessagessearchMessages(options: SearchMessagesOptions): Promise<RcResult<MessageSearchResult>>消息管理
getConversationListgetConversationList(): Promise<RcResult<Conversation[]>>会话列表
getConversationgetConversation(conversationType: ConversationType, targetId: string): Promise<RcResult<Conversation>>会话列表
getHistoryMessagesgetHistoryMessages(conversationType: ConversationType, targetId: string, options?: HistoryOptions): Promise<RcResult<HistoryPage>>历史消息
clearUnreadCountclearUnreadCount(conversationType: ConversationType, targetId: string): Promise<RcResult<void>>未读数
setConversationToTopsetConversationToTop(conversationType: ConversationType, targetId: string, isTop: boolean): Promise<RcResult<void>>置顶与免打扰
saveTextMessageDraftsaveTextMessageDraft(conversationType: ConversationType, targetId: string, draft: string): Promise<RcResult<void>>草稿
getTextMessageDraftgetTextMessageDraft(conversationType: ConversationType, targetId: string): Promise<RcResult<string>>草稿
clearTextMessageDraftclearTextMessageDraft(conversationType: ConversationType, targetId: string): Promise<RcResult<void>>草稿
setConversationNotificationLevelsetConversationNotificationLevel(conversationType: ConversationType, targetId: string, level: NotificationLevel): Promise<RcResult<void>>置顶与免打扰
getUserProfilegetUserProfile(userId: string): Promise<RcResult<UserProfile>>用户资料
updateMyUserProfileupdateMyUserProfile(profile: UserProfileUpdate): Promise<RcResult<UserProfile>>用户资料
getOnlineStatusgetOnlineStatus(userId: string): Promise<RcResult<UserOnlineStatus>>在线状态
getOnlineStatusBatchgetOnlineStatusBatch(userIds: string[]): Promise<RcResult<UserOnlineStatusBatch>>在线状态
searchUserssearchUsers(keyword: string, options?: PageOptions): Promise<RcResult<UserSearchResult>>好友列表
sendFriendRequestsendFriendRequest(toUserId: string, message?: string): Promise<RcResult<FriendRequest>>好友请求
getFriendRequestsgetFriendRequests(options?: FriendRequestQuery): Promise<RcResult<FriendRequest[]>>好友请求
acceptFriendRequestacceptFriendRequest(requestId: string): Promise<RcResult<FriendRequest>>好友请求
rejectFriendRequestrejectFriendRequest(requestId: string): Promise<RcResult<FriendRequest>>好友请求
getFriendsgetFriends(): Promise<RcResult<Friend[]>>好友列表
deleteFrienddeleteFriend(friendId: string): Promise<RcResult<void>>好友列表
setFriendRemarksetFriendRemark(friendId: string, remark: string): Promise<RcResult<void>>好友列表
getBlacklistgetBlacklist(): Promise<RcResult<BlacklistEntry[]>>黑名单
addToBlacklistaddToBlacklist(userId: string): Promise<RcResult<void>>黑名单
removeFromBlacklistremoveFromBlacklist(userId: string): Promise<RcResult<void>>黑名单
createGroupcreateGroup(options: CreateGroupOptions): Promise<IAsyncResult<Group>>创建群组
getGroupsInfogetGroupsInfo(groupIds: string[]): Promise<RcResult<Group[]>>创建群组
getGroupMembersgetGroupMembers(groupId: string): Promise<RcResult<GroupMember[]>>群成员
addGroupMembersaddGroupMembers(groupId: string, userIds: string[]): Promise<RcResult<AddGroupMembersResult>>群成员
removeGroupMembersremoveGroupMembers(groupId: string, userIds: string[]): Promise<RcResult<RemoveGroupMembersResult>>群成员
quitGroupquitGroup(groupId: string): Promise<RcResult<void>>群成员
updateGroupNameupdateGroupName(groupId: string, name: string): Promise<RcResult<Group>>群管理
updateGroupNoticeupdateGroupNotice(groupId: string, notice: string): Promise<RcResult<Group>>群管理
transferGroupOwnertransferGroupOwner(groupId: string, newOwner: string): Promise<RcResult<Group>>群管理
addGroupAdminaddGroupAdmin(groupId: string, userId: string): Promise<RcResult<Group>>群管理
removeGroupAdminremoveGroupAdmin(groupId: string, userId: string): Promise<RcResult<Group>>群管理
muteGroupMembermuteGroupMember(groupId: string, userId: string, mutedUntil: number): Promise<RcResult<MuteGroupMemberResult>>群管理
createChatroomcreateChatroom(options: CreateChatroomOptions): Promise<RcResult<Chatroom>>加入与退出
joinChatroomjoinChatroom(chatroomId: string): Promise<RcResult<Chatroom>>加入与退出
leaveChatroomleaveChatroom(chatroomId: string): Promise<RcResult<void>>加入与退出
getChatroomInfogetChatroomInfo(chatroomId: string): Promise<RcResult<Chatroom>>聊天室信息
getChatroomMembersgetChatroomMembers(chatroomId: string, options?: PageOptions): Promise<RcResult<ChatroomMembersPage>>聊天室信息
getSystemMessagesgetSystemMessages(options?: HistoryOptions): Promise<RcResult<HistoryPage>>系统通知
uploadFileuploadFile(data: ArrayBuffer, name: string, mime?: string): Promise<RcResult<UploadResult>>文件上传
updateMessageExpansionupdateMessageExpansion(messageId: string, expansion: Record<string, string>): Promise<IAsyncResult<MessageExpansion>>消息进阶
removeMessageExpansionremoveMessageExpansion(messageId: string, keys: Array<string>): Promise<IAsyncResult<MessageExpansion>>消息进阶
addMessageReactionaddMessageReaction(params: UpdateMessageReactionParam): Promise<IAsyncResult<MessageReaction>>消息进阶
removeMessageReactionremoveMessageReaction(params: UpdateMessageReactionParam): Promise<IAsyncResult<ReactionRemoval>>消息进阶
batchGetMessageReactionSummariesbatchGetMessageReactionSummaries(params: MessageReactionSummaryQuery): Promise<IAsyncResult<Record<string, MessageReactionSummary[]>>>消息进阶
getMessageReactionsgetMessageReactions(params: GetMessageReactionsParam): Promise<IAsyncResult<MessageReactionPage>>消息进阶
getMessageReactionUsersgetMessageReactionUsers(params: GetMessageReactionUsersParam): Promise<IAsyncResult<MessageReactionUserPage>>消息进阶
createConversationTagcreateConversationTag(params: CreateConversationTagParam): Promise<IAsyncResult<ConversationTag>>会话标签与分组
updateConversationTagupdateConversationTag(tagId: string, tagName: string): Promise<IAsyncResult<ConversationTag>>会话标签与分组
deleteConversationTagdeleteConversationTag(tagId: string): Promise<IAsyncResult<null>>会话标签与分组
getConversationTagsgetConversationTags(): Promise<IAsyncResult<ConversationTag[]>>会话标签与分组
addConversationsToTagaddConversationsToTag(tagId: string, conversations: ConversationRef[]): Promise<IAsyncResult<ConversationTagMembershipResult>>会话标签与分组
removeConversationsFromTagremoveConversationsFromTag(tagId: string, conversations: ConversationRef[]): Promise<IAsyncResult<ConversationTagMembershipResult>>会话标签与分组
getConversationsFromTagByPagegetConversationsFromTagByPage(tagId: string, options?: ConversationTagPageOptions): Promise<IAsyncResult<ConversationTagPage>>会话标签与分组
getTagsFromConversationgetTagsFromConversation(conversationType: number, targetId: string): Promise<IAsyncResult<ConversationTag[]>>会话标签与分组
getUnreadCountByTaggetUnreadCountByTag(tagId: string): Promise<IAsyncResult<ConversationTagUnread>>会话标签与分组
setConversationToTopInTagsetConversationToTopInTag(tagId: string, conversationType: number, targetId: string, top: boolean): Promise<IAsyncResult<null>>会话标签与分组
deleteConversationdeleteConversation(conversationType: number, targetId: string): Promise<IAsyncResult<{ removed: boolean }>>会话删除与类型免打扰
getConversationTypeNotificationgetConversationTypeNotification(conversationType: number): Promise<IAsyncResult<ConversationTypeNotification>>会话删除与类型免打扰
setConversationTypeNotificationsetConversationTypeNotification(conversationType: number, level: number): Promise<IAsyncResult<ConversationTypeNotification>>会话删除与类型免打扰
startStreamMessagestartStreamMessage(params: StartStreamMessageParams): Promise<IAsyncResult<StreamMessage>>消息进阶
appendStreamMessageappendStreamMessage(streamId: string, delta: string, options?: AppendStreamMessageOptions): Promise<IAsyncResult<StreamMessage>>消息进阶
completeStreamMessagecompleteStreamMessage(streamId: string): Promise<IAsyncResult<StreamCompleteResult>>消息进阶
getStreamMessagegetStreamMessage(streamId: string): Promise<IAsyncResult<StreamMessage>>消息进阶
getMessageExpansiongetMessageExpansion(messageId: string): Promise<IAsyncResult<MessageExpansion>>消息进阶
combineMessagescombineMessages(messages: Message[], options?: CombineMessagesOptions): Promise<IAsyncResult<CombineContent>>消息进阶
subscribePresencesubscribePresence(userIds: string[]): Promise<IAsyncResult<PresenceSubscription>>在线状态订阅与推送令牌
unsubscribePresenceunsubscribePresence(userIds: string[]): Promise<IAsyncResult<PresenceSubscription>>在线状态订阅与推送令牌
getPresenceSubscriptionsgetPresenceSubscriptions(): Promise<IAsyncResult<PresenceSubscription>>在线状态订阅与推送令牌
registerPushTokenregisterPushToken(options: RegisterPushTokenOptions): Promise<IAsyncResult<PushToken>>在线状态订阅与推送令牌
unregisterPushTokenunregisterPushToken(tokenId: string): Promise<IAsyncResult<UnregisterPushTokenResult>>在线状态订阅与推送令牌
getPushTokensgetPushTokens(): Promise<IAsyncResult<PushTokenListResult>>在线状态订阅与推送令牌
createSupergroupChannelcreateSupergroupChannel(params: CreateSupergroupChannelParams): Promise<IAsyncResult<SupergroupChannel>>超级群频道与用户组
listSupergroupChannelslistSupergroupChannels(groupId: string): Promise<IAsyncResult<SupergroupChannelListResult>>超级群频道与用户组
joinSupergroupChanneljoinSupergroupChannel(channelId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<JoinSupergroupChannelResult>>超级群频道与用户组
leaveSupergroupChannelleaveSupergroupChannel(channelId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<LeaveSupergroupChannelResult>>超级群频道与用户组
bindUserGroupToChannelbindUserGroupToChannel(channelId: string, userGroupId: string, options?: SupergroupChannelOptions): Promise<IAsyncResult<BindUserGroupToChannelResult>>超级群频道与用户组
createUserGroupcreateUserGroup(params: CreateUserGroupParams): Promise<IAsyncResult<UserGroup>>超级群频道与用户组
listUserGroupslistUserGroups(groupId: string): Promise<IAsyncResult<UserGroupListResult>>超级群频道与用户组
getUserGroupsByUsergetUserGroupsByUser(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_RECEIPTReadReceipt—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 参考「枚举」各页。

数据类型索引​

公开数据类型分两类:有独立页面的核心结构(消息、会话、群组、内容联合体等),以及只作为参数/返回结构出现的选项与结果对象(字段在对应方法的参数表与返回值中说明)。

随方法说明的类型​

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

如何反馈差异​

  • 方法语义与签名:以 功能列表 与各功能页为准;
  • 错误码与重试:见 状态码;
  • 若发现“制品导出但文档未说明”或“文档说明但制品未导出”,请提交到文档反馈渠道,会按版本更新日志同步。