import { store } from '../index' import { defineStore } from 'pinia' export interface ImMessageWebSocket { id: number // 编号 conversationType: number // 会话类型 senderId: number // 发送人编号 senderNickname: string // 发送人昵称 senderAvatar: string // 发送人头像 receiverId: number // 接收人编号 contentType: number // 内容类型 content: string // 内容 sendTime: string // 发送时间 sequence: number // 序号 } export const chatStore = defineStore({ id: 'imMessage', state: () => ({ messages: [] as ImMessageWebSocket[], localMaxSeq: 0 }), getters: { getMessages(): ImMessageWebSocket[] { return this.messages }, getLocalMaxSeq(): number { return this.localMaxSeq } }, actions: { loadMessages(messages: ImMessageWebSocket[]) { this.messages = messages }, addMessage(message: ImMessageWebSocket) { this.messages.push(message) }, setLocalMaxSeq(seq: number) { this.localMaxSeq = seq } } }) export const useImMessageStore = () => { return chatStore(store) }