refactor(db): 重构数据库架构使用serverId作为主键
- 将数据库主键从自增id改为直接使用serverId,避免ID冲突 - 简化数据存储和查询逻辑,提高性能 - 添加重复数据检测和去重功能 - 更新相关组件以适配新的数据库接口 - 在应用启动时初始化数据库连接
This commit is contained in:
@@ -44,7 +44,7 @@ const Person: React.FC<PersonProps> = ({
|
||||
const [isEditingRemark, setIsEditingRemark] = useState(false);
|
||||
const [remarkValue, setRemarkValue] = useState(contract.conRemark || "");
|
||||
|
||||
const kfSelectedUser = useCkChatStore(state => state.kfSelectedUser());
|
||||
const getKfSelectedUser = useCkChatStore(state => state.getKfSelectedUser());
|
||||
|
||||
// 当contract变化时更新备注值
|
||||
useEffect(() => {
|
||||
@@ -124,7 +124,7 @@ const Person: React.FC<PersonProps> = ({
|
||||
</Tooltip>
|
||||
|
||||
<div className={styles.profileRemark}>
|
||||
{JSON.stringify(kfSelectedUser)}
|
||||
{JSON.stringify(getKfSelectedUser)}
|
||||
{isEditingRemark ? (
|
||||
<div
|
||||
style={{
|
||||
|
||||
@@ -68,7 +68,7 @@ const ChatWindow: React.FC<ChatWindowProps> = ({
|
||||
>({});
|
||||
const messagesEndRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const kfSelectedUser = useCkChatStore(state => state.kfSelectedUser());
|
||||
const getKfSelectedUser = useCkChatStore(state => state.getKfSelectedUser());
|
||||
useEffect(() => {
|
||||
clearUnreadCount([contract.id]).then(() => {
|
||||
setLoading(true);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import React, { useState } from "react";
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { Avatar, Badge, Tooltip } from "antd";
|
||||
import styles from "./VerticalUserList.module.scss";
|
||||
import { useCkChatStore, asyncKfSelected } from "@/store/module/ckchat/ckchat";
|
||||
@@ -14,9 +14,24 @@ const VerticalUserList: React.FC = () => {
|
||||
const handleUserSelect = (userId: number) => {
|
||||
asyncKfSelected(userId);
|
||||
};
|
||||
const kfUserList = useCkChatStore(state => state.kfUserList);
|
||||
const getkfUserList = useCkChatStore(state => state.getkfUserList);
|
||||
const kfSelected = useCkChatStore(state => state.kfSelected);
|
||||
const [kefuList, setKefuList] = useState([]);
|
||||
|
||||
// 获取客服列表数据
|
||||
useEffect(() => {
|
||||
const fetchKfUserList = async () => {
|
||||
try {
|
||||
const data = await getkfUserList();
|
||||
setKefuList(data || []);
|
||||
} catch (error) {
|
||||
console.error("获取客服列表失败:", error);
|
||||
setKefuList([]);
|
||||
}
|
||||
};
|
||||
|
||||
fetchKfUserList();
|
||||
}, [getkfUserList]);
|
||||
return (
|
||||
<div className={styles.verticalUserList}>
|
||||
<div
|
||||
@@ -27,7 +42,7 @@ const VerticalUserList: React.FC = () => {
|
||||
<div className={styles.allFriends}>全部好友</div>
|
||||
</div>
|
||||
<div className={styles.userList}>
|
||||
{kfUserList.map(user => (
|
||||
{kefuList.map(user => (
|
||||
<Tooltip key={user.id} title={user.name} placement="right">
|
||||
<div
|
||||
className={`${styles.userItem} ${kfSelected === user.id ? styles.active : ""}`}
|
||||
|
||||
Reference in New Issue
Block a user