把专业在线客服,装进你的 ShopXO 商城,实时会话、表情+图片+视频+文件+商品卡片一键推送+消息撤回,替代官方 ¥1600 的付费客服应用
把专业在线客服,装进你的 ShopXO 商城。 实时会话、表情 / 图片 / 视频 / 文件、商品卡片一键推送、消息撤回、自定义访客备注名——零核心代码改动,一个 zip 导入即用,替代官方 ¥1600 的付费客服应用。
| 项 | 说明 |
|---|---|
| 适用平台 | ShopXO 6.9.2(ThinkPHP 8) |
| 实现语言 | PHP 8+ / 原生 JavaScript / MySQL |
| 部署方式 | 后台「应用管理 → 导入应用」上传 zip |
| 版本 | v1.0 |
| 核心改动 | 0 处(纯标准插件体系) |
详细展示页:ShopXO 在线客服插件
允许的文件类型(白名单从严控制,其它一律拒绝):
| 类别 | 格式 |
|---|---|
| Office | doc / docx / xls / xlsx / ppt / pptx |
| WPS | wps / et / dps |
| 其他文档 | pdf / txt |
| 视频 | mp4 / webm / mov / m4v(直接播放);avi / mkv / flv / wmv / rmvb / ts / mpeg / mpg / 3gp(按文件下载) |
| 压缩包 | zip / rar |
x.php.pdf)拦截、原始文件名清洗访客浏览器 ──┐
├─► Hook(ViewFetchEnd 注入悬浮窗)
后台工作台 ──┘ │
▼
Api / Admin 控制器(参数校验与调度)
│
▼
OnlineService 业务层(会话 / 消息 / 话术 / 状态)
│
▼
MySQL(4 张独立表)
ViewFetchEnd 钩子把悬浮窗 HTML / 配置注入每个页面输出,无需改模板| 层 | 技术 |
|---|---|
| 服务端语言 | PHP 8+(PSR-4 自动加载) |
| 框架 | ThinkPHP 8(ShopXO 6.9.2 同款) |
| 前端 | 原生 JavaScript(零框架零构建,ES5 兼容) |
| 数据库 | MySQL / InnoDB |
| 插件体系 | ShopXO 标准插件:config.json / Hook / install.sql |
| 实时方案 | 3 秒短轮询 + 游标增量(可升级 SSE / Workerman) |
| 上传 | Fetch + FormData,90 秒超时保护 |
| 消息协议 | JSON:text / image / video / file / goods / context / recalled |
| 主题 | CSS 变量,后台改色前台即时生效 |
| 游客识别 | localStorage 临时标识,刷新不丢会话 |
onlineservice.zip,系统自动建表(老版本自动补充新增字段,数据不丢)注意事项:
upload_max_filesize 与 post_max_size ≥ 20MBQ:和官方付费客服应用相比,有什么区别? 功能覆盖商城客服核心场景,且源码完全自主可控,可继续二次开发;官方应用 ¥1600 元比较贵,本插件一次部署、永久使用,无授权费。
Q:支持多个客服同时接待吗?
当前版本为「全员可见 + 手动接入」模式:所有后台用户都能看到会话列表,点击「等待接入」的会话即开始接待,系统自动记录接待人。数据库已预留 service_id 与客服状态表,多客服自动分配(按在线状态 / 负载)已做好数据准备,可按需升级。
Q:消息是实时的吗? 采用 3 秒短轮询 + 消息 ID 游标增量拉取,实测延迟 1~3 秒;同时具备未读角标、浏览器标题闪烁、新消息提示。若未来需要更低延迟,架构上已预留 SSE / Workerman 升级位。
Q:游客没有登录也能收到回复吗? 可以。游客通过 localStorage 生成临时标识关联会话,刷新、返回页面不丢失;登录用户自动关联商城账号。
Q:可以发送哪些文件?大了会怎样? 仅支持 Office(doc/docx/xls/xlsx/ppt/pptx)、WPS(wps/et/dps)、PDF、TXT、视频与 ZIP/RAR,单个 ≤ 20MB;超出限制或类型不符会明确提示,不会发出。
基于 ShopXO 6.9.2 · ThinkPHP 8 · PHP 8+ / MySQL 构建 · 版本 v1.0 · 自研插件,替代官方付费应用