Files
cunkebao_v3/Touchkebao/src/store/module/weChat/message.data.ts

63 lines
1.8 KiB
TypeScript
Raw Normal View History

export interface Message {
id: number;
wechatId: string;
nickname: string;
alias: string;
avatar: string;
region: string;
signature: string;
bindQQ: string;
bindEmail: string;
bindMobile: string;
createTime: string;
currentDeviceId: number;
isDeleted: boolean;
deleteTime: string;
groupId: number;
memo: string;
wechatVersion: string;
labels: string[];
lastUpdateTime: string;
isOnline?: boolean;
momentsMax: number;
momentsNum: number;
[key: string]: any;
}
//Store State - 会话列表状态管理(不存储数据,只管理状态)
export interface MessageState {
//加载状态
loading: boolean;
//后台同步状态
refreshing: boolean;
//刷新触发器(用于通知组件重新查询数据库)
refreshTrigger: number;
//最后刷新时间
lastRefreshTime: string | null;
//是否已经加载过一次(避免重复请求)
hasLoadedOnce: boolean;
//设置加载状态
setLoading: (loading: boolean) => void;
//设置同步状态
setRefreshing: (refreshing: boolean) => void;
//触发刷新(通知组件重新查询)
triggerRefresh: () => void;
//设置已加载标识
setHasLoadedOnce: (loaded: boolean) => void;
//重置加载状态(用于登出或切换用户)
resetLoadState: () => void;
// ==================== 保留原有接口(向后兼容) ====================
//消息列表(废弃,保留兼容)
messageList: Message[];
//当前选中的消息(废弃,保留兼容)
currentMessage: Message | null;
//更新消息列表(废弃,保留兼容)
updateMessageList: (messageList: Message[]) => void;
//更新消息状态(废弃,保留兼容)
updateMessageStatus: (messageId: number, status: string) => void;
//更新当前选中的消息(废弃,保留兼容)
updateCurrentMessage: (message: Message) => void;
}