📋 本文档用于全面测试已实现的功能和需求
最后更新:2025-11-12
如果你想快速验证系统是否正常工作,可以按照以下步骤:
启动后端(1分钟)
cd backend
go run main.go
看到 🚀 服务器启动成功,监听 :8080 表示启动成功
启动前端(1分钟)
cd frontend
npm run dev
看到 Ready 表示启动成功
测试访客端(1分钟)
http://localhost:3000/chat测试客服端(2分钟)
http://localhost:3000/,使用 admin/admin123 登录如果以上步骤都正常,说明系统基本功能正常! ✅
详细测试请参考 九、快速测试流程(核心功能验证)
确保 backend/.env 文件存在并配置正确:
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=CS
注意:
DB_PASSWORD 改成你的 MySQL 密码DB_NAME=CS 是数据库名,如果不存在会自动创建(需要先手动创建数据库)CREATE DATABASE CS CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
cd backend
go mod tidy
go run main.go
成功标志:
看到类似这样的输出:
✅ 找到 .env 文件: D:\tools\AI-CS\backend\.env
✅ .env 文件加载成功
✅ 管理员账号已存在
[GIN-debug] POST /login --> ...
[GIN-debug] POST /logout --> ...
[GIN-debug] POST /conversation/init --> ...
[GIN-debug] GET /conversations --> ...
[GIN-debug] GET /conversations/:id --> ...
[GIN-debug] PUT /conversations/:id/contact --> ...
[GIN-debug] GET /conversations/search --> ...
[GIN-debug] POST /messages --> ...
[GIN-debug] GET /messages --> ...
[GIN-debug] PUT /messages/read --> ...
[GIN-debug] GET /ws --> ...
🚀 服务器启动成功,监听 :8080
📡 WebSocket 服务已启动,路径: /ws?conversation_id=<对话ID>
如果出错:
.env 配置和 MySQL 是否启动重要:后端和前端要在不同的终端窗口运行!
cd frontend
npm install
npm run dev
成功标志:
看到类似这样的输出:
▲ Next.js 15.5.3
- Local: http://localhost:3000
- Ready in 2.3s
访问:http://localhost:3000
系统包含两个端:
/chat):不需要登录,直接访问即可使用/ → /agent/dashboard):需要登录,使用管理员/客服账号测试时你需要分别测试两个端!
已实现的核心功能:
http://localhost:3000/chat✅ WebSocket 连接已建立: 对话ID=X, 是访客=true✅ 客户端已连接: 对话ID=X, 总连接数=1, 访客连接数=1http://localhost:3000/chat)http://localhost:3000/agent/dashboard),需要先登录messages_read 事件实现的!F5 刷新页面http://localhost:3000/chat注意:
go run main.go 的终端按 Ctrl+C)http://localhost:3000/(根路径)预期结果:
输入登录信息:
adminadmin123点击"登录"按钮
预期结果:
/agent/dashboard(客服工作台)agent_user_id、agent_username、agent_role预期结果:
如果没有对话:
/chat 页面(访客端)发送一些消息http://localhost:3000/chat)http://localhost:3000/agent/dashboard),需要先登录messages_read 事件实现的!<mark> 标签)visitor@example.com)PUT /conversations/:id/contact 请求)13800138000)重要客户,需要重点关注)/chat 页面预期结果:
agent_user_id、agent_username、agent_role 被清除/)验证登录状态:
/agent/dashboard清除 localStorage(在浏览器控制台执行):
localStorage.clear()
尝试直接访问 /agent/dashboard
预期结果:
按 F12 打开开发者工具
console.error 输出,说明后端请求失败✅ WebSocket 连接成功: 对话ID=X → 连接成功❌ WebSocket 连接关闭: 对话ID=X → 连接断开WebSocket 连接错误: {} → 连接失败(可能是后端未启动)POST /messages 请求ws 或 wss 类型的请求200 = 成功400 = 请求参数错误500 = 服务器错误new_message、messages_read、visitor_status_update 等事件在后端运行的终端窗口,查看日志输出:
✅ 客户端已连接: 对话ID=X, 总连接数=Y, 访客连接数=Z,说明 WebSocket 连接成功❌ 客户端已断开: 对话ID=X, 剩余访客连接数=Y,说明 WebSocket 断开✅ WebSocket 连接已建立: 对话ID=X, 是访客=true/false,说明连接建立更新访客在线状态失败: ...,说明状态更新失败错误:数据库连接失败
解决:
.env 配置是否正确错误:npm install 失败
解决:
node_modules 文件夹,重新 npm install错误:浏览器显示空白页 解决:
错误:点击发送没反应 解决:
frontend/lib/config.ts 中的 API 地址是否正确错误:WebSocket 连接错误: {}
解决:
错误:发送消息后,对方看不到 解决:
错误:已读状态不更新 解决:
messages_read 事件messages_read 事件错误:在线状态不实时更新 解决:
visitor_status_update 事件visitor_status_update 事件is_visitor=true)错误:对话列表为空 解决:
错误:搜索无结果 解决:
完成以下测试后,打勾:
/chat 页面正常显示/ 显示登录页面/agent/dashboard(客服工作台)💡 如果你时间有限,可以按照以下流程快速验证核心功能是否正常
启动系统(5分钟)
cd backend && go run main.gocd frontend && npm run devhttp://localhost:3000访客端测试(5分钟)
http://localhost:3000/chat客服端测试(5分钟)
http://localhost:3000/,使用 admin/admin123 登录实时通信测试(5分钟)
已读状态测试(3分钟)
在线状态测试(3分钟)
搜索功能测试(2分钟)
联系信息编辑测试(3分钟)
如果以上测试都通过,说明核心功能正常! ✅
http://localhost:3000/chat)http://localhost:3000/chat)http://localhost:3000/agent/dashboard)测试完成后,你就知道整个系统是否正常工作了! 🎉
如果所有测试都通过,恭喜你!系统已经可以正常使用了! ✅