diff --git a/shared/model/message.ts b/shared/model/message.ts index 9693d0d3..3581a2df 100644 --- a/shared/model/message.ts +++ b/shared/model/message.ts @@ -11,6 +11,8 @@ export interface ChatMessage { converseId: string; + reactions?: any[]; + createdAt?: string; updatedAt?: string; diff --git a/shared/redux/setup.ts b/shared/redux/setup.ts index c46c895d..13f6f5df 100644 --- a/shared/redux/setup.ts +++ b/shared/redux/setup.ts @@ -2,10 +2,9 @@ import type { AppStore } from './store'; import type { AppSocket } from '../api/socket'; import { chatActions, groupActions, userActions } from './slices'; import type { FriendRequest } from '../model/friend'; -import type { UserDMList } from '../model/user'; import { getCachedConverseInfo } from '../cache/cache'; import type { GroupInfo } from '../model/group'; -import { fetchConverseMessage } from '../model/message'; +import type { ChatMessage } from '../model/message'; /** * 初始化 Redux 上下文 @@ -70,6 +69,15 @@ function listenNotify(socket: AppSocket, store: AppStore) { } ); + socket.listen('chat.message.add', (message) => { + store.dispatch( + chatActions.appendConverseMessage({ + converseId: message.converseId, + messages: [message], + }) + ); + }); + socket.listen('group.updateInfo', (groupInfo) => { store.dispatch(groupActions.updateGroup(groupInfo)); });