所有消息采用统一的 JSON 格式传输示例:
{
"msgId": "uuid-12345",
"fromUser": "guest_001", // 发送者ID
"toUser": "waiter_001", // 接收者ID
"clientType": "mini_app", // 来源:mini_app (小程序), pc_web (平台)
"msgType": "job_card", // 消息类型:text, order_card, job_card, assess_card
"content": "", // 文本内容
"payload": { // 卡片扩展数据
"id": "j001",
"title": "审计员",
"salary": "13K-23K",
"company": "华财仁合"
}
}
chat_history 表。文件夹 online-service 下包含以下内容:
docs/: 存放架构规划与对接文档(即本文件)。pc-web-preview/: PC 端管理后台预览项目。基于 Vite + Vue3 + Element Plus 搭建,包含完整的坐席配置与聊天工作台页面。mini-app-ref/: 小程序端参考代码。包含聊天 UI 组件 (chat.vue) 和 WebSocket 通讯封装 (socket.js)。[!TIP] 原
pc-frontend目录已作为核心视图组件移动至pc-web-preview/src/views中,为了保持项目整洁已将其删除。
要在 HBuilderX 中查看 PC 端后台预览效果:
文件 -> 导入 -> 从本地目录导入,选择 online-service/pc-web-preview。package.json。"dev": "vite" 脚本上方,点击出现的绿色运行图标。npm run dev。http://localhost:3000 即可查看。如果您需要将预览页面迁移到正式的 RuoYi Vue3 项目中,请参考以下步骤:
将 pc-web-preview/src/views/ 下的两个文件拷贝至若依项目的对应位置:
ChatWorkbench.vue -> src/views/customer/chat/index.vueSeatConfig.vue -> src/views/customer/config/index.vue系统管理 -> 菜单管理。customer/chat/index。customer/config/index。sessionList、messageList 等均为静态 ref 数据。onMounted 钩子中调用业务接口获取真实历史记录。handleSend 需增加对 WebSocket 发送方法的调用。mini-app-ref/chat.vue 的模板架构引入您的小程序咨询页面。App.vue 或 聊天页面初始化时,调用 socket.js 的 connect(token) 方法。ChatSocket.onMessage(data => { ... }) 监听来自后台的消息,并实时将其 push 进页面的消息数组中。