refactor(wechat): 优化消息接收处理和数据库结构

- 移除未使用的kfUserService导入
- 为weChatGroup和ContractData接口添加serverId字段
- 重构receivedMsg方法,根据消息类型从数据库获取会话信息
- 简化数据库表结构,移除冗余的WithServerId接口
This commit is contained in:
超级老白兔
2025-09-05 14:53:09 +08:00
parent 66241f32af
commit e7c109eab1
5 changed files with 23 additions and 23 deletions

View File

@@ -7,7 +7,7 @@ import {
KfUserListData,
ContactGroupByLabel,
} from "@/pages/pc/ckbox/data";
import { kfUserService, weChatGroupService, contractService } from "@/utils/db";
import { weChatGroupService, contractService } from "@/utils/db";
import { createContractList } from "@/store/module/ckchat/api";
export const useCkChatStore = createPersistStore<CkChatState>(

View File

@@ -8,6 +8,7 @@ import {
import { WeChatState } from "./weChat.data";
import { clearUnreadCount, updateConfig } from "@/pages/pc/ckbox/api";
import { ContractData, weChatGroup } from "@/pages/pc/ckbox/data";
import { weChatGroupService, contractService } from "@/utils/db";
import {
addChatSession,
updateChatSession,
@@ -87,12 +88,12 @@ export const useWeChatStore = create<WeChatState>()(
}));
},
receivedMsg: message => {
receivedMsg: async message => {
const currentContract = useWeChatStore.getState().currentContract;
//判断群还是好友
const getMessageId =
message?.wechatChatroomId || message.wechatFriendId;
const isWechatGroup = message?.wechatChatroomId;
//当前选中聊天的群或好友
if (currentContract && currentContract.id == getMessageId) {
set(state => ({
@@ -106,11 +107,15 @@ export const useWeChatStore = create<WeChatState>()(
session.unreadCount = Number(session.unreadCount) + 1;
updateChatSession(session);
} else {
// 新增会话
addChatSession({
...session,
unreadCount: 1,
});
if (isWechatGroup) {
const [group] = await weChatGroupService.findByIds(getMessageId);
if (group) {
addChatSession(group);
}
} else {
const [user] = await contractService.findByIds(getMessageId);
addChatSession(user);
}
}
}
},