Files
frontend/src/stores/message/index.ts

104 lines
2.3 KiB
TypeScript
Raw Normal View History

/**
*
*
*
* - MessageStateManager
* - 使 zustand store
* - services/
* - hooks.ts
* - SubscriptionManager Zustand selector
*/
// ==================== 主管理器 ====================
export { messageManager, MessageManager } from './MessageManager';
// ==================== 状态管理 ====================
export {
useMessageStore,
normalizeConversationId,
mergeMessagesById,
} from './store';
export type { MessageState, MessageActions, MessageStore } from './store';
// ==================== 类型导出 ====================
// 从 types.ts 导出所有类型
export type {
MessageManagerState,
ReadStateRecord,
MessageManagerConversationListDeps,
HandleNewMessageOptions,
IMessageDeduplication,
IUserCacheService,
IReadReceiptManager,
IConversationOperations,
IMessageSendService,
IMessageSyncService,
IWSMessageHandler,
} from './types';
// ==================== 常量导出 ====================
export {
READ_STATE_PROTECTION_DELAY,
PROCESSED_MESSAGE_ID_EXPIRY,
PROCESSED_MESSAGE_ID_MAX_SIZE,
MAX_FLUSH_ITERATIONS,
CONVERSATION_REFRESH_THROTTLE,
MIN_RECONNECT_SYNC_INTERVAL,
} from './constants';
// ==================== 服务导出 ====================
export {
// 消息去重服务
MessageDeduplication,
messageDeduplication,
// 用户缓存服务
UserCacheService,
userCacheService,
// 已读回执管理器
ReadReceiptManager,
// 会话操作服务
ConversationOperations,
// 消息发送服务
MessageSendService,
// 消息同步服务
MessageSyncService,
// WebSocket 消息处理器
WSMessageHandler,
} from './services';
// ==================== Hooks 导出 ====================
export {
// 会话相关
useConversations,
useConversation,
useCreateConversation,
useUpdateConversation,
// 消息相关
useMessages,
useSendMessage,
useMarkAsRead,
// 未读数相关
useUnreadCount,
useSystemUnreadCount,
// 群聊相关
useGroupTyping,
useGroupMuted,
// 通用
useMessageManager,
useConnectionStatus,
useIsInitialized,
} from './hooks';
// ==================== 默认导出 ====================
export { default } from './MessageManager';