Commit Graph

61 Commits

Author SHA1 Message Date
超级老白兔
533c16be3f feat(weChat): 添加receivedMsg方法处理接收消息逻辑
新增receivedMsg方法用于处理微信消息接收逻辑,区分当前会话消息和未读消息更新
优化updateChatSession实现,使用深拷贝避免直接修改状态
调整ckchat.data.ts中方法顺序,保持代码整洁
2025-09-03 17:47:43 +08:00
超级老白兔
ff96312d53 feat(websocket): 添加消息处理逻辑并清理无用代码
在websocket消息处理器中添加addMessage调用以处理新消息
移除ChatWindow组件中无用的样式和注释代码
2025-09-03 17:18:19 +08:00
超级老白兔
0bddc4dc5b fix: 修复消息发送后输入框未清空及自动点赞状态切换问题
修复消息发送后输入框未清空的问题,优化自动点赞任务状态切换逻辑
更新消息处理逻辑,修正构建文件引用路径
2025-09-03 17:05:53 +08:00
超级老白兔
9cdfe552e0 fix: 移除currentContract持久化并清理调试日志和WebSocket状态
移除weChat模块中currentContract的持久化配置,避免登录和刷新时数据残留
清理ChatWindow组件中的调试日志
在登录时清空WebSocket连接状态
2025-09-03 16:49:45 +08:00
超级老白兔
c27642bc12 feat(websocket): 添加清空连接状态方法用于退出登录
新增clearConnectionState方法,用于在用户退出登录时清空WebSocket连接状态。该方法会关闭现有连接、停止所有定时器并重置所有相关状态变量,确保用户登出后不会保留之前的连接信息。
2025-09-03 16:36:10 +08:00
超级老白兔
a3ba45626d feat(微信/websocket): 新增消息处理逻辑并优化websocket连接
- 在WeChatState接口中添加addMessage方法用于接收新消息
- 在websocket消息处理器中调用addMessage存储接收到的消息
- 优化websocket连接逻辑,断开时自动尝试重连
- 改进聊天窗口视频状态检测逻辑,减少不必要的滚动
2025-09-03 16:33:52 +08:00
超级老白兔
ef853d2736 feat(weChat): 重构视频消息处理逻辑并优化加载状态管理
- 移除旧的待处理视频请求队列及相关方法
- 新增setVideoLoading和setVideoUrl方法简化视频状态管理
- 优化ChatWindow组件中的视频加载状态检测和滚动行为
- 添加CmdDownloadVideoResult消息处理器自动更新视频URL
2025-09-03 16:06:12 +08:00
超级老白兔
8b1387a8ed feat(weChat): 添加视频请求处理和WebSocket监听功能
- 在weChat store中新增pendingVideoRequests状态和相关操作方法
- 实现WebSocket监听处理视频下载响应
- 重构ChatWindow组件,将视频处理逻辑移至store
- 优化消息分组和渲染逻辑
2025-09-03 15:08:29 +08:00
超级老白兔
647e2a5f7e refactor(weChat): 重构微信聊天模块状态管理
将微信聊天相关状态从组件中提取到独立的zustand store
移除冗余的props传递,使用store管理当前联系人和消息
优化消息加载逻辑,统一处理消息状态
2025-09-03 14:52:32 +08:00
超级老白兔
48880bed0d feat(wechat): 实现微信聊天状态管理及消息处理功能
添加微信聊天状态管理store,包含联系人管理、消息发送/接收、未读消息计数等功能
修复聊天窗口参数传递问题,统一使用contract.id作为标识
调整消息加载数量从10条减少到5条
2025-09-03 11:25:10 +08:00
超级老白兔
c6da2062f2 FEAT => 本次更新项目为: 2025-09-03 10:45:19 +08:00
超级老白兔
2995755cda refactor(websocket): 将硬编码的5000毫秒改为5 * 1000以提高可读性 2025-09-03 09:54:40 +08:00
超级老白兔
0d6ac88dea refactor(websocket): 将客服状态查询定时器逻辑移至websocket store
将原本在组件中的客服状态查询定时器逻辑重构到websocket store中,统一管理定时器的启动和停止。同时在连接成功时自动启动定时器,断开连接时自动停止,避免内存泄漏。
2025-09-03 09:52:58 +08:00
超级老白兔
eb63dc1d8d refactor(websocket): 移除消息处理器中的空行 2025-09-03 09:35:09 +08:00
超级老白兔
92e9b69348 feat(WechatFriends): 添加搜索功能并优化联系人列表展示
- 新增搜索联系人及群组功能,支持本地数据库查询
- 添加无搜索结果时的提示样式
- 优化联系人列表渲染逻辑,区分搜索模式和分组模式
- 统一联系人项展示样式,支持群组标识
2025-09-02 17:40:11 +08:00
超级老白兔
b08086e3f5 feat 2025-09-02 17:36:53 +08:00
超级老白兔
70877c8c96 feat(ckchat): 添加搜索关键词状态及相关方法
在CkChatState接口中添加searchKeyword字段用于存储搜索关键词,并新增setSearchKeyword和clearSearchKeyword方法用于管理搜索状态
2025-09-02 16:32:25 +08:00
超级老白兔
e35403eaf4 fix(websocket): 处理被踢出通知时跳转到登录页面
当收到"Kicked out"通知时,直接重定向到登录页面以强制用户重新登录
2025-09-02 15:52:44 +08:00
超级老白兔
d5e609aa37 feat(聊天窗口): 重构消息输入组件并添加微信风格样式
将消息输入功能从ChatWindow组件中拆分为独立的MessageEnter组件
添加微信风格的样式和交互效果
新增消息处理逻辑和素材选择功能
重命名getMessages为getChatMessages以保持命名一致性
2025-09-02 15:21:54 +08:00
超级老白兔
b3f6d4f6e7 fix(websocket): 移除重复的seq字段并统一在命令中添加
在websocket命令构造中统一添加seq字段,避免在调用处重复设置。移除ckbox页面中重复的seq设置,保持代码一致性。
2025-09-02 14:26:44 +08:00
超级老白兔
316a237297 fix(ckchat): 修复聊天窗口输入框事件处理和类型定义
修复输入框的onKeyPress事件为onKeyDown以更好处理键盘事件
更新Person组件props类型定义以支持weChatGroup类型
将getkfUserList改为异步函数以备后续实现
2025-09-02 11:49:26 +08:00
超级老白兔
a67ca442a0 FEAT => 本次更新项目为: 2025-09-02 11:23:18 +08:00
超级老白兔
e7b795f744 refactor(websocket): 优化websocket消息处理及状态检查逻辑
移除调试日志输出并优化微信账号状态检查逻辑
添加深拷贝工具函数并应用于客服列表处理
将状态检查改为间隔10秒的轮询方式
2025-09-02 10:18:25 +08:00
超级老白兔
20658c3ca5 refactor(websocket): 重构websocket模块并添加消息管理器
- 将websocket模块拆分为多个文件,提高代码可维护性
- 新增msgManage.ts处理不同类型的websocket消息
- 优化消息处理逻辑,减少重复代码
- 更新相关文件引用路径
2025-09-02 09:52:38 +08:00
超级老白兔
cfa8182789 refactor(websocket): 移除获取微信账号状态的冗余命令
移除在WebSocket连接成功后发送的获取微信账号状态的命令,该命令在当前场景下不再需要
2025-09-01 17:36:03 +08:00
超级老白兔
cca999a18d FEAT => 本次更新项目为: 2025-09-01 17:33:47 +08:00
超级老白兔
3198959cb7 feat(群推任务): 添加获取群推任务详情的API接口
feat(客服聊天): 实现搜索功能并优化联系人筛选逻辑

refactor(WebSocket): 重构连接逻辑,增加状态检查和调试信息

fix(WebSocket): 修复页面刷新后重连逻辑,避免重复连接
2025-09-01 17:28:33 +08:00
超级老白兔
832be374b5 refactor(ckchat): 重构联系人列表获取逻辑并添加缓存机制
- 将联系人列表获取逻辑从直接调用改为使用useEffect异步获取
- 为getNewContractList添加缓存机制避免重复计算
- 在相关状态变更时自动清除缓存
- 新增asyncNewContractList方法用于设置联系人列表
2025-09-01 14:58:15 +08:00
超级老白兔
aec0bad35f feat(ckchat): 添加联系人列表缓存功能并重构状态管理
- 新增getContractList方法实现联系人列表缓存
- 重构asyncKfSelected方法以触发多个缓存更新
- 移除asyncNewContractList方法,改为使用createContractList API
- 修复多处拼写错误和代码格式问题
- 优化缓存更新逻辑,避免不必要的重新计算
2025-09-01 14:51:11 +08:00
超级老白兔
f77e8709a8 refactor(ckchat): 重构联系人列表获取逻辑并优化状态管理
- 将联系人列表获取逻辑从组件移至store
- 新增getNewContractList方法替代直接访问状态
- 移除不再使用的getContractList方法
- 优化缓存处理逻辑
- 修复部分语法错误和格式问题
2025-09-01 14:44:46 +08:00
超级老白兔
f05efe464a feat(ckchat): 重构联系人列表逻辑并添加缓存功能
- 将联系人列表构建逻辑提取到独立api文件
- 添加getContractList缓存机制避免重复计算
- 优化kfSelected变更时的缓存清除逻辑
- 移除main.ts中冗余的联系人分组逻辑
2025-09-01 11:40:01 +08:00
超级老白兔
3cb10e217b perf(ckchat): 优化getChatSessions缓存机制避免无限循环
添加缓存机制来避免getChatSessions方法的重复计算,通过检查kfSelected和chatSessions的变化来决定是否重新计算缓存。同时在相关操作后主动清除缓存以确保数据一致性。
2025-09-01 10:43:09 +08:00
超级老白兔
64c75772bb feat(数据库): 添加消息列表数据接口和表
refactor(聊天会话): 根据选中客服过滤会话列表

fix(聊天窗口): 移除重复的未读消息清除逻辑

refactor(侧边栏): 统一联系人点击处理逻辑

chore: 删除无用的数据库测试文件
2025-09-01 10:24:15 +08:00
超级老白兔
09e78277b5 feat(ckchat): 添加获取客服用户信息的接口方法 2025-08-30 17:17:09 +08:00
超级老白兔
14813013a7 feat(ckchat): 添加获取客服用户信息的方法并更新相关引用
添加getKfUserInfo方法用于根据微信账号ID获取客服用户信息
更新Person组件中使用新方法替代原有的kfSelectedUser调用
2025-08-30 17:15:22 +08:00
超级老白兔
b780a4db58 fix(ckchat): 修正获取选中客服信息的方法名拼写错误 2025-08-30 17:07:08 +08:00
超级老白兔
0975995486 feat(ckbox): 重构微信联系人分组逻辑并优化数据库操作
- 在ContactGroupByLabel和weChatGroup接口中添加count和labels字段
- 将weChatGroup重命名为weChatGroupServerId以更准确描述用途
- 修改数据库操作,使用service直接处理数据存储
- 重构createContractList函数,根据groupType查询不同服务获取数据
- 移除VerticalUserList中不必要的异步获取逻辑,直接使用store数据
2025-08-30 17:02:31 +08:00
超级老白兔
136e0f6225 refactor(ckbox): 统一接口命名将wechatGroup改为weChatGroup
重构微信相关接口命名,将wechatGroup统一改为weChatGroup以保持命名一致性
更新相关组件、store和数据库服务以适配新接口名称
2025-08-30 15:55:15 +08:00
超级老白兔
8581432bf4 refactor(数据库): 重命名GroupData为wechatGroup并优化数据库初始化
重构GroupData接口为wechatGroup以更准确描述微信群组数据结构
在数据库初始化时添加调试模式清理数据功能
更新所有相关引用和数据库服务实例名称
2025-08-30 15:36:03 +08:00
超级老白兔
5bdd299dad refactor(db): 重构数据库架构使用serverId作为主键
- 将数据库主键从自增id改为直接使用serverId,避免ID冲突
- 简化数据存储和查询逻辑,提高性能
- 添加重复数据检测和去重功能
- 更新相关组件以适配新的数据库接口
- 在应用启动时初始化数据库连接
2025-08-30 15:00:26 +08:00
超级老白兔
d4336ed447 refactor(store): 移除未使用的ckchat模块及相关代码
清理不再使用的ckchat store模块及其相关导入,简化代码结构
2025-08-30 14:23:12 +08:00
超级老白兔
13cb684abd refactor(store): 重构ckchat模块为子目录结构
feat(test): 添加数据库测试页面和工具

将ckchat相关代码移动到store/module/ckchat子目录,包含数据定义和实现文件
添加数据库测试页面和工具类,支持服务器ID与本地ID映射
移除不再使用的initSafeArea函数
2025-08-30 11:52:52 +08:00
超级老白兔
db4bc8651d feat(客服聊天): 添加获取当前选中客服用户的功能
在CkChatState接口中添加kfSelectedUser方法用于获取当前选中的客服用户信息,并在聊天窗口组件中显示该信息
2025-08-29 15:40:46 +08:00
超级老白兔
bc7cc6810d feat(db): 添加Dexie数据库支持并重构数据存储结构
添加Dexie作为IndexedDB封装库,实现本地数据存储功能
重构数据接口定义和存储模块结构,优化类型定义
统一数据接口文件位置,增强代码可维护性
2025-08-29 15:13:31 +08:00
超级老白兔
190f2df15e feat(store): 添加asyncKfSelected方法用于更新选中客服
添加asyncKfSelected方法到ckchat store,用于异步更新选中的客服ID。同时移除未使用的代码和console.log
2025-08-29 10:41:19 +08:00
超级老白兔
7a4831e200 feat(ckchat): 添加客服在线状态显示和选择功能
- 在KfUserListData接口中添加isOnline字段表示客服在线状态
- 在CkChatState中添加kfSelected字段存储当前选中的客服ID
- 重构VerticalUserList组件,使用zustand管理选中状态
- 添加在线状态指示器样式,区分在线和离线状态
- 优化persistUtils工具,添加分片存储功能处理大数据
2025-08-29 10:36:37 +08:00
超级老白兔
b4eb2919b1 feat(联系人列表): 实现分组展示功能并重构组件结构
添加新的联系人分组功能,支持按分组展示联系人列表
重构联系人列表组件结构,将原有组件拆分为更清晰的模块
新增状态管理逻辑用于存储和获取分组联系人数据
移除不再使用的旧样式文件和组件
2025-08-28 18:17:40 +08:00
超级老白兔
fdc6c15d88 feat(ckchat): 添加联系人分组功能并实现骨架屏优化
添加新的联系人分组状态 newContractList 和对应的异步设置方法 asyncNewContractList
实现页面加载时的骨架屏效果,优化用户体验
重构 SidebarMenu 组件样式,分离骨架屏逻辑
新增 PageSkeleton 组件用于统一管理骨架屏
2025-08-28 15:51:32 +08:00
超级老白兔
640daf2431 refactor(ckbox): 重构客服列表和联系人管理逻辑
- 将ctrlUserList重命名为kfUserList并优化相关接口
- 新增异步更新客服列表、联系人列表和会话列表的方法
- 重构联系人分组逻辑,支持按标签分组
- 优化会话列表排序规则,按最后更新时间降序排列
- 移除无用代码并简化组件逻辑
2025-08-28 15:18:18 +08:00
超级老白兔
968480669e refactor(ckbox): 重构侧边栏组件结构并优化代码组织
feat(ckbox): 添加垂直用户列表组件用于终端用户展示
feat(ckbox): 实现控制终端用户数据管理功能

fix(ckbox): 修复联系人列表样式问题
fix(ckbox): 解决消息列表数据同步问题

style(ckbox): 调整侧边栏样式和布局
style(ckbox): 优化组件样式文件结构

chore(ckbox): 移除未使用的客户相关组件和样式
2025-08-27 14:29:37 +08:00