# 聊天功能快速开始 ## 快速配置 ### 1. 添加菜单路由 在后台管理系统的菜单配置中添加以下菜单项: ```json { "name": "聊天列表", "path": "/chat/chat_list", "component": "chat/chat_list", "icon": "md-chatbubbles" } ``` ### 2. 启动项目 ```bash # 启动后端API服务 cd api npm install npm start # 启动前端管理后台 cd admin npm install npm run dev ``` ### 3. 访问聊天列表 在浏览器中访问: `http://localhost:8080/#/chat/chat_list` ## 功能演示 ### 查看会话列表 1. 左侧显示所有聊天会话 2. 每个会话显示: - 公司名称 - 职位名称 - 最新消息内容 - 消息时间 - 平台标签(Boss/猎聘) ### 查看聊天记录 1. 点击左侧的任意会话 2. 右侧显示完整的聊天历史记录 3. 消息按时间顺序排列 4. 区分发送和接收的消息 ### 发送消息 1. 选择一个会话 2. 在底部输入框输入消息 3. 点击"发送"按钮或按回车键 4. 消息发送成功后会自动刷新 ### 筛选和搜索 - **平台筛选**: 选择Boss直聘或猎聘 - **关键词搜索**: 输入公司名称或职位名称 ## API测试 ### 测试获取聊天列表 ```bash curl -X POST http://localhost:3000/admin_api/chat/list \ -H "Content-Type: application/json" \ -d '{ "page": 1, "pageSize": 20 }' ``` ### 测试发送消息 ```bash curl -X POST http://localhost:3000/admin_api/chat/send \ -H "Content-Type: application/json" \ -d '{ "sn_code": "GHJU", "jobId": "12345", "content": "您好,我对这个职位很感兴趣", "platform": "boss", "chatType": "reply" }' ``` ### 测试获取指定职位的聊天记录 ```bash curl -X GET "http://localhost:3000/admin_api/chat/by-job?jobId=12345&sn_code=GHJU" ``` ## 常见问题 ### 1. 页面显示空白? - 检查API服务是否正常运行 - 检查浏览器控制台是否有错误 - 确认数据库中是否有聊天记录数据 ### 2. 消息发送失败? - 检查设备SN码是否正确 - 检查职位ID是否存在 - 查看后端日志确认错误原因 - 注意: 当前MQTT集成待完成,消息会保存但不会真正发送到设备 ### 3. 轮询不工作? - 检查浏览器控制台是否有网络错误 - 确认轮询定时器是否正常启动 - 可以调整轮询间隔 (默认5秒) ### 4. 会话列表为空? - 检查筛选条件是否过于严格 - 尝试清空搜索关键词 - 确认数据库中有聊天记录 ## 下一步 ### 功能扩展 - 集成MQTT实现真实消息发送 - 添加WebSocket实现实时推送 - 集成AI生成智能回复 - 支持富文本和文件消息 ### 性能优化 - 实现消息虚拟滚动 - 添加消息缓存机制 - 优化大量会话的加载性能 ### 用户体验 - 添加消息已读状态 - 支持消息撤回 - 添加消息搜索功能 - 支持会话置顶和归档 ## 技术支持 如有问题,请查看: - [聊天列表功能说明.md](./聊天列表功能说明.md) - 完整的功能文档 - 项目代码中的注释 - 后端API的Swagger文档 ## 更新记录 - **2025-01-XX**: 初始版本发布 - 实现基础聊天列表功能 - 支持消息发送和接收 - 添加轮询机制 - 支持平台筛选和搜索