refactor(db): 重构数据库架构使用serverId作为主键

- 将数据库主键从自增id改为直接使用serverId,避免ID冲突
- 简化数据存储和查询逻辑,提高性能
- 添加重复数据检测和去重功能
- 更新相关组件以适配新的数据库接口
- 在应用启动时初始化数据库连接
This commit is contained in:
超级老白兔
2025-08-30 15:00:26 +08:00
parent d4336ed447
commit 5bdd299dad
7 changed files with 152 additions and 95 deletions

View File

@@ -6,7 +6,7 @@ import {
CkAccount,
KfUserListData,
} from "@/pages/pc/ckbox/data";
import { kfUserService } from "@/utils/db";
export const useCkChatStore = createPersistStore<CkChatState>(
set => ({
userInfo: null,
@@ -16,9 +16,18 @@ export const useCkChatStore = createPersistStore<CkChatState>(
kfUserList: [], //客服列表
kfSelected: 0,
newContractList: [], //联系人分组
kfSelectedUser: () => {
const state = useCkChatStore.getState();
return state.kfUserList.find(item => item.id === state.kfSelected);
//客服列表
asyncKfUserList: async data => {
console.log(data);
await kfUserService.createManyWithServerId(data);
// set({ kfUserList: data });
},
// 获取客服列表
getkfUserList: async () => {
return await kfUserService.findAll();
// const state = useCkChatStore.getState();
// return state.kfUserList;
},
asyncKfSelected: (data: number) => {
set({ kfSelected: data });
@@ -39,14 +48,12 @@ export const useCkChatStore = createPersistStore<CkChatState>(
asyncContractList: data => {
set({ contractList: data });
},
// 控制终端用户列表
getkfUserList: () => {
//获取选中的客服信息
getgetKfSelectedUser: () => {
const state = useCkChatStore.getState();
return state.kfUserList;
},
asyncKfUserList: data => {
set({ kfUserList: data });
return state.kfUserList.find(item => item.id === state.kfSelected);
},
// 删除控制终端用户
deleteCtrlUser: (userId: number) => {
set(state => ({