XuqmGroup-RNSDK/packages/im/src/index.ts
XuqmGroup a58f920a3f feat(android-sdk): 添加完整的IM客户端SDK实现
- 实现了Android SDK的完整IM功能接口,包括消息、群组、好友、会话等核心功能
- 添加了消息收发、历史记录、撤回编辑等完整的消息操作能力
- 实现了群组管理功能,包括创建、成员管理、权限设置等操作
- 添加了好友关系链管理,支持添加、删除、分组等操作
- 实现了会话管理功能,包括置顶、免打扰、已读状态等
- 添加了黑名单、资料管理、搜索等辅助功能
- 补齐了批量操作接口,提升客户端操作效率
- 实现了WebSocket连接管理和事件监听机制
- 添加了离线消息同步和状态管理功能
2026-05-02 22:57:55 +08:00

44 行
3.5 KiB
TypeScript

export { ImSDK } from './ImSDK'
import { ImSDK as _ImSDK } from './ImSDK'
// Convenience named exports for friend APIs
export const listFriends = (): Promise<string[]> => _ImSDK.listFriends()
export const addFriend = (friendId: string): Promise<void> => _ImSDK.addFriend(friendId)
export const removeFriend = (friendId: string): Promise<void> => _ImSDK.removeFriend(friendId)
export const removeAllFriends = (): Promise<void> => _ImSDK.removeAllFriends()
export const setFriendGroup = (friendId: string, groupName?: string): Promise<void> => _ImSDK.setFriendGroup(friendId, groupName)
export const listFriendGroups = (): ReturnType<typeof _ImSDK.listFriendGroups> => _ImSDK.listFriendGroups()
export const listFriendsByGroup = (groupName: string): ReturnType<typeof _ImSDK.listFriendsByGroup> => _ImSDK.listFriendsByGroup(groupName)
export const checkBlacklist = (targetUserId: string): ReturnType<typeof _ImSDK.checkBlacklist> => _ImSDK.checkBlacklist(targetUserId)
export const searchUsers = (keyword: string, size?: number): ReturnType<typeof _ImSDK.searchUsers> => _ImSDK.searchUsers(keyword, size)
export const searchGroups = (keyword: string, size?: number): ReturnType<typeof _ImSDK.searchGroups> => _ImSDK.searchGroups(keyword, size)
export const searchMessages = (params: Parameters<typeof _ImSDK.searchMessages>[0]): ReturnType<typeof _ImSDK.searchMessages> => _ImSDK.searchMessages(params)
export const editMessage = (messageId: string, content: string): ReturnType<typeof _ImSDK.editMessage> => _ImSDK.editMessage(messageId, content)
export const setConversationHidden = (targetId: string, chatType: Parameters<typeof _ImSDK.setConversationHidden>[1], hidden: boolean): ReturnType<typeof _ImSDK.setConversationHidden> => _ImSDK.setConversationHidden(targetId, chatType, hidden)
export const setConversationGroup = (targetId: string, chatType: Parameters<typeof _ImSDK.setConversationGroup>[1], groupName?: string): ReturnType<typeof _ImSDK.setConversationGroup> => _ImSDK.setConversationGroup(targetId, chatType, groupName)
export const listConversationGroups = (): ReturnType<typeof _ImSDK.listConversationGroups> => _ImSDK.listConversationGroups()
export const listConversationGroupItems = (groupName: string): ReturnType<typeof _ImSDK.listConversationGroupItems> => _ImSDK.listConversationGroupItems(groupName)
export const locateHistoryPage = (toId: string, messageId: string, pageSize?: number, maxPages?: number): ReturnType<typeof _ImSDK.locateHistoryPage> => _ImSDK.locateHistoryPage(toId, messageId, pageSize, maxPages)
export const locateGroupHistoryPage = (groupId: string, messageId: string, pageSize?: number, maxPages?: number): ReturnType<typeof _ImSDK.locateGroupHistoryPage> => _ImSDK.locateGroupHistoryPage(groupId, messageId, pageSize, maxPages)
export const syncOfflineMessages = (maxCount?: number): ReturnType<typeof _ImSDK.syncOfflineMessages> => _ImSDK.syncOfflineMessages(maxCount)
export const offlineMessageCount = (): ReturnType<typeof _ImSDK.offlineMessageCount> => _ImSDK.offlineMessageCount()
export { ImClient } from './ImClient'
export { ImDatabase } from './db/ImDatabase'
export type { MessageSearchParams } from './db/ImDatabase'
export type {
ImMessage, ImGroup, ChatType, MsgType, MsgStatus,
ImEventListener, SendMessageParams,
ConversationData,
ConversationGroupItem,
HistoryQuery,
PageResult,
FriendRequest,
GroupJoinRequest,
BlacklistEntry,
BlacklistCheckResult,
GroupReadReceiptSummary,
UserProfile,
} from './types'
export { uploadFile } from './upload'
export type { UploadResult } from './upload'