Web Demo 运行指南
仓库提供 sdk/web/examples/app.html,一个不依赖构建工具的完整 IM 网页演示:登录、单聊、群聊、消息互动、好友、音视频通话等能力开箱即用,适合快速验证 SDK,也可以把其中的状态管理和事件处理直接搬进自己的项目。页面通过 ES 模块加载 SDK(包内自带构建产物 dist/,与 npm 包 @deeprespond/im-web 同版本),不需要安装 Node 或执行 npm install。
功能范围
| 模块 | 覆盖内容 |
|---|---|
| 账号 | 凭证 / 密码 / 注册三种登录、URL 参数自动登录、退出、修改资料与密码、连接状态与主标签页标识 |
| 会话 | 会话列表(未读角标、置顶、免打扰、草稿摘要)、搜索、标为未读、清空与删除、全部已读 |
| 消息 | 文本、图片(大图查看)、文件、语音(录音)、视频、位置消息;引用回复、转发、表情回应、置顶、撤回与撤回提示、删除(仅本人)、失败标记、已读回执、正在输入、草稿自动保存、本地搜索、日期分隔、加载更早消息 |
| 好友 | 添加好友(留言)、申请同意与拒绝、备注、删除、黑名单 |
| 群组 | 创建群组(选择初始成员)、邀请成员、成员网格与身份标识、全员禁言、退群、解散、公开群申请 |
| 音视频 | 语音 / 视频通话:发起面板、来电横幅、接听与拒绝、静音与摄像头切换、挂断、通话记录消息 |
| 其他 | 新消息 toast(按推送策略判断)、设备管理(下线设备)、诊断信息、举报、深色模式、多标签页共用连接、窄视口响应式布局 |
下载与运行
Demo 代码包(自带 dist/,解压即用,无需 npm):deeprespond-im-web-demo-1.0.0-alpha.zip,校验值见同目录的 DEMO_PACKAGE_SHA256SUMS。
bash
unzip deeprespond-im-web-demo-1.0.0-alpha.zip
cd deeprespond-im-web-demo-1.0.0-alpha
python3 -m http.server 8080打开 http://127.0.0.1:8080/examples/app.html。页面通过 ES 模块加载 SDK,必须以 HTTP 方式访问(不能双击打开文件),并建议使用 localhost 或 HTTPS(安全上下文)。
从仓库工作区构建同样的包:
bash
make sdk-web-demo-package # 输出 release/sdk-<版本>/deeprespond-im-web-demo-<版本>.zip登录
登录卡片支持三种方式:凭证(业务服务端签发的一次性 ticket)、密码、注册。也支持 URL 参数自动登录:
http://127.0.0.1:8080/examples/app.html?appKey=org%23app&apiUrl=https://im.example.com&ticket=<凭证>| 参数 | 说明 |
|---|---|
appKey | 应用 AppKey(org_name#app_name),在控制台的应用详情中查看 |
apiUrl | IM 服务地址 |
ticket | 预置的一次性登录凭证(可选),签发方式见快速集成 |
AppKey 可以写在网页中;凭证相当于临时密码,只应从你的业务服务端取得,不要写死在页面或提交到 Git。
前置条件
- 一个已部署并可访问的 IM 服务端;本地开发环境见仓库
README.md的本地开发一节。 - 音视频通话与表情回应默认关闭,需要在控制台的应用策略中开启;通话还需要能被浏览器访问的媒体服务(LiveKit)地址。
- 用 HTTP(非
localhost)打开页面时,浏览器会阻止摄像头与麦克风,语音与视频功能受限。
双用户互测
开两个浏览器(或一个普通窗口加一个隐私窗口)分别登录两个用户:在一侧的「通讯录」中添加对方为好友,另一侧在「通讯录 → 好友申请」中同意,即可体验完整的单聊、群聊(创建群组时勾选对方)与通话流程。同一浏览器的第二个标签页会自动共用登录(右上角显示主标签页标识)。
相关文档
- React / Vue 工程版 Demo:基于绑定包的两个工程版示例(含源码包下载);
- 概述与安装:SDK 的能力总览、运行环境与安装方式;
- 快速集成:从零搭一个能收发消息的网页的完整步骤;
- 演示页对应仓库内
sdk/web/examples/app.html;最小化的接口示例见同目录basic.html。
