3.1 KiB
3.1 KiB
聊天功能快速开始
快速配置
1. 添加菜单路由
在后台管理系统的菜单配置中添加以下菜单项:
{
"name": "聊天列表",
"path": "/chat/chat_list",
"component": "chat/chat_list",
"icon": "md-chatbubbles"
}
2. 启动项目
# 启动后端API服务
cd api
npm install
npm start
# 启动前端管理后台
cd admin
npm install
npm run dev
3. 访问聊天列表
在浏览器中访问: http://localhost:8080/#/chat/chat_list
功能演示
查看会话列表
- 左侧显示所有聊天会话
- 每个会话显示:
- 公司名称
- 职位名称
- 最新消息内容
- 消息时间
- 平台标签(Boss/猎聘)
查看聊天记录
- 点击左侧的任意会话
- 右侧显示完整的聊天历史记录
- 消息按时间顺序排列
- 区分发送和接收的消息
发送消息
- 选择一个会话
- 在底部输入框输入消息
- 点击"发送"按钮或按回车键
- 消息发送成功后会自动刷新
筛选和搜索
- 平台筛选: 选择Boss直聘或猎聘
- 关键词搜索: 输入公司名称或职位名称
API测试
测试获取聊天列表
curl -X POST http://localhost:3000/admin_api/chat/list \
-H "Content-Type: application/json" \
-d '{
"page": 1,
"pageSize": 20
}'
测试发送消息
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"
}'
测试获取指定职位的聊天记录
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 - 完整的功能文档
- 项目代码中的注释
- 后端API的Swagger文档
更新记录
- 2025-01-XX: 初始版本发布
- 实现基础聊天列表功能
- 支持消息发送和接收
- 添加轮询机制
- 支持平台筛选和搜索