Go SDK Demo 运行指南
Go SDK 的仓库里带一个单二进制的演示程序 demo/:不需要任何前端构建步骤,启动后在浏览器里就是一个完整可用的聊天界面,用来在写代码之前体验 SDK 的全部客户端能力,也可以当作 im.Client 的调用参考实现。
运行环境
- Go 1.26 及以上(与 SDK 相同,无第三方依赖);
- 一个可访问的 IM 服务端地址;
- 应用下至少两个用户账号(Demo 使用密码登录,双账号才能互发消息)。测试账号可以在控制台创建,或由业务服务端通过用户管理 API 创建。
启动
不需要下载源码,直接用 go run 拉取并运行指定版本:
bash
go run github.com/DeepRespond-AI/deeprespond-im-go-sdk/demo@v1.0.0-alpha \
--api https://im.example.com \
--app-key '1575529652#demo' \
--addr :8090或者克隆仓库后运行:
bash
git clone https://github.com/DeepRespond-AI/deeprespond-im-go-sdk.git
cd deeprespond-im-go-sdk
go run ./demo --api https://im.example.com --app-key '1575529652#demo'也可以编译成二进制再执行:go build -o godemo ./demo && ./godemo ...。
启动参数
| 参数 | 环境变量 | 缺省 | 说明 |
|---|---|---|---|
--api | http://127.0.0.1:18480 | IM 服务端 REST 地址,WS 地址由它推导 | |
--app-key | APP_KEY | 应用标识(组织#应用),缺省时启动报错 | |
--addr | :8090 | Demo 的 HTTP 监听地址 | |
--debug | 关闭 | 打印 SDK 调试日志(连接、重连、事件) |
使用 https 服务端
--api 为 https:// 时,WS 自动使用 wss://,浏览器无需任何额外配置;本地 http:// 服务端在现代浏览器中可能被混合内容策略拦住,建议用 127.0.0.1 而不是局域网 IP 访问本机服务端。
使用
- 浏览器打开
http://127.0.0.1:8090(端口取--addr); - 用应用下的用户名密码登录;
- 每个浏览器会话(cookie)是一个独立的 IM 登录,双账号互聊请用一个普通窗口加一个无痕窗口(同一浏览器的多个标签页共享登录)。
已覆盖的功能
密码登录与错误提示、查找用户与好友申请、单聊/群聊收发(文本、图片、引用回复)、已读回执、正在输入、消息回应(👍/❤️)、撤回与删除、草稿、置顶与免打扰标记、群创建与管理、设备管理(吊销会话后被踢下线)、修改资料与退出登录。页面为窄视口做了自适应,手机浏览器也可以直接体验。
Demo 的架构
Demo 是理解 Go SDK 使用方式的最好样例:单进程内,每个浏览器会话持有一个独立的 im.Client,页面通过 WebSocket 连到 Demo 后端,wsbridge.go 把页面协议映射为 SDK 调用,SDK 事件再以 push(bootstrap/convs/msgs/typing/kicked 等)实时下发给页面。
text
浏览器 ⇄ demo 后端(HTTP + WebSocket 桥)⇄ im.Client(Go SDK)⇄ IM 服务端把机器人接入真实业务时,可以去掉桥与页面,直接在你的程序里调用 im.Client,见快速集成与事件、同步与 Store。
