运行聊天演示
理解内嵌 Chat Demo 的入口、工作方式和生产安全边界。
Chat Demo 是随 wukongim 软件包提供的浏览器应用。Linux 服务启动后,无需单独运行前端服务。
访问方式
| 环境 | Chat Demo 地址 | API 基地址 |
|---|---|---|
| Linux / Docker 单节点集群 | http://127.0.0.1:5001/demo/ | 页面同源 |
| 仓库三节点 Compose | http://127.0.0.1:15001/demo/ | 页面同源 |
需要连接另一个 API 地址时,可以使用:
http://127.0.0.1:5001/demo/?apiurl=http://host:portDemo 先调用 /route 获取客户端 WebSocket 地址,再使用 JavaScript SDK 建立长连接。
排查连接地址
在浏览器开发者工具的 Network 中检查 /route 响应。默认 Docker 端口映射下,未填写 api.external_ws_addr 时,ws_addr 应使用本次 API 请求的主机名及 Gateway 端口 5200。Linux 初始化默认监听 127.0.0.1:5200,通过 SSH 同时转发 5001 和 5200 即可体验,无需填写对外地址。
如果响应仍包含 ws://0.0.0.0:5200,确认使用包含自动补全修复的版本,并检查是否显式配置了通配对外地址。旧版本可在已有 [api] 中设置 external_ws_addr = "ws://127.0.0.1:5200" 后重启;直接远程访问时使用客户端可达的服务器地址和外部端口。环境变量 WK_EXTERNAL_WSADDR 优先于 TOML。
页面可打开但 WebSocket 连接失败时,检查 Docker 映射或 SSH 转发是否包含 5200。非默认映射端口、独立域名或 HTTPS/WSS 代理需要显式对外地址及实际可用的 TLS/WebSocket 入口,详见 Docker 部署。
登录字段
- API 基地址:WuKongIM HTTP API 地址。
- 登录账号:业务系统中的唯一用户 UID。
- 登录 Token:已有用户的 Web 设备 Token。默认直接连接,不调用
/user/token,不修改服务端凭据。 - 创建或更新演示凭据:仅为专用测试账号显式勾选;此模式会调用
/user/token写入 Web 从设备凭据。
凭据仅保存在当前标签页的 sessionStorage,不放进 URL。刷新页面或点击“重新同步”
会重建 SDK 的消息、会话和游标状态,再向服务器同步;退出时删除本 Demo 的凭据。
重新同步前应先处理未发送草稿,Demo 会在输入框还有内容时阻止该操作。
迁移验收请使用默认的已有 Token 模式。此行为仅覆盖 Demo 自己的内存缓存,不会 清理其他业务 App 的消息数据库,也不代表其他客户端已完成迁移适配。
相同 UID 和相同设备标记的主设备连接可能互相替换。并行测试时请使用不同 UID,或使用独立浏览器会话。
生产边界
不要暴露演示认证流程
Chat Demo 在显式勾选创建演示凭据时直接调用 /user/token,仅用于测试。生产客户端不应自行注册或重置 Token;应由受信任的业务后端完成身份校验和凭据签发。
生产集成还需要:
- 为 HTTP、WebSocket 和 TCP 流量配置 TLS 与网络访问策略。
- 替换示例 Manager 账号、JWT Secret、Join Token 和其他固定凭据。
- 在业务后端执行账号、群组、好友、权限和内容规则。
- 选择合适的客户端 SDK,并处理重连、离线同步和本地消息状态。
如果双向消息已经成功,继续阅读下一步。