feat(ckbox): 重构微信联系人分组逻辑并优化数据库操作

- 在ContactGroupByLabel和weChatGroup接口中添加count和labels字段
- 将weChatGroup重命名为weChatGroupServerId以更准确描述用途
- 修改数据库操作,使用service直接处理数据存储
- 重构createContractList函数,根据groupType查询不同服务获取数据
- 移除VerticalUserList中不必要的异步获取逻辑,直接使用store数据
This commit is contained in:
2025-08-30 17:02:31 +08:00
parent 14f0a6d7f3
commit 0975995486
7 changed files with 62 additions and 35 deletions

View File

@@ -7,7 +7,7 @@ import {
KfUserListData,
ContactGroupByLabel,
} from "@/pages/pc/ckbox/data";
import { kfUserService } from "@/utils/db";
import { kfUserService, weChatGroupService, contractService } from "@/utils/db";
export const useCkChatStore = createPersistStore<CkChatState>(
set => ({
userInfo: null,
@@ -19,7 +19,8 @@ export const useCkChatStore = createPersistStore<CkChatState>(
kfSelected: 0,
//客服列表
asyncKfUserList: async data => {
await kfUserService.createManyWithServerId(data);
set({ kfUserList: data });
// await kfUserService.createManyWithServerId(data);
},
// 获取客服列表
getkfUserList: async () => {
@@ -41,12 +42,12 @@ export const useCkChatStore = createPersistStore<CkChatState>(
set({ chatSessions: data });
},
// 异步设置联系人列表
asyncContractList: data => {
set({ contractList: data });
asyncContractList: async (data: ContractData[]) => {
await contractService.createManyWithServerId(data);
},
//异步设置联系人分组
asyncWeChatGroup: (data: ContactGroupByLabel[]) => {
set({ weChatGroup: data });
asyncWeChatGroup: async (data: weChatGroup[]) => {
await weChatGroupService.createManyWithServerId(data);
},
//获取选中的客服信息
getgetKfSelectedUser: () => {
@@ -210,3 +211,5 @@ export const asyncNewContractList = (
) => useCkChatStore.getState().asyncNewContractList(data);
export const asyncKfSelected = (data: number) =>
useCkChatStore.getState().asyncKfSelected(data);
export const asyncWeChatGroup = (data: weChatGroup[]) =>
useCkChatStore.getState().asyncWeChatGroup(data);