### 对话聊天框需求 1. **分组标签** - 全部:显示所有消息 - 未读:显示未读消息 - 已回复:用户已回复但对方未回复的消息 2. **群发消息BUG修复** - 修复群发消息时有些联系人不显示第一条消息的BUG 3. **消息排序** - 新消息自动排到最前面 4. **聊天记录缓存** - 使用REDIS缓存聊天记录,避免缓存错乱 5. **联系人置顶** - 类似微信的联系人置顶功能 6. **清空功能** - 用户端新增清空联系人和聊天记录的按钮,位于聊天窗右上方 7. **高并发处理** - 提高系统的高并发能力,一分钟最少要达到几千到上万条消息 - 根据不同发送服务器的速度限制进行发送,每个发送服务器使用单独的队列 - 需要模拟发送场景,展示并发能力 - 示例: - 阿里发送服务器:1分钟/300条 - 腾讯发送服务器:1分钟/500条 - 处理多余消息的发送队列机制 8. **性能优化** - 处理大量聊天记录和联系人时不能出现卡顿 ### 聊天窗UI改进 1. **联系人列表** - 缩小联系人字体,增加每页显示的联系人数量 - 使用 https://api.multiavatar.com/ 随机头像,每个号码的头像随机后固定 - 确保联系人数量多时滑动列表不卡顿 ### 框架优化建议 1. **更换框架** - 将现有的workerman框架更换为swoole,以提升性能和并发能力 2. **优化缓存** - 避免一次性读取所有消息,采用分页或按需加载的方式,以防止缓存超出限制 3. **长期合作** - 寻求一位能力强的技术员长期合作,优化和维护系统 ### 求助信息 由于目前使用workerman框架在一次性读取所有消息时导致缓存问题(Uncaught DOMException: Failed to execute ‘setItem’ on ‘Storage’: Setting the value of ‘16363:time’ exceeded the quota),需要将workerman转为swoole。希望找到一位有经验的技术员进行优化整改,或者给出一些技术建议。长期合作优先。有IM开发经验的优先,需有连接SOCKET功能,无需刷新页面即可接收到消息。