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.5.zip,校驗值見 DEMO_PACKAGE_SHA256SUMS。
這個包用 1.0.5 原始碼構建,這個版本不一定已釋出到 npm 或 CDN。它包含兩處修復:H5 頁面接聽音影片時載入媒體依賴的問題,以及附件上傳失敗後的重試間隔。
- 更新 Demo 時替換整個目錄,並保留完整的
dist/(包括按需載入的 LiveKit 分塊)。 - 包裡的 SDK 與 npm、CDN 上的 SDK 分開更新:用 npm 或 CDN 接入的專案,要升級到包含這些修復的 SDK 版本。
unzip deeprespond-im-web-demo-1.0.5.zip
cd deeprespond-im-web-demo-1.0.5
python3 -m http.server 8080開啟 http://127.0.0.1:8080/examples/app.html。頁面透過 ES 模組載入 SDK,必須以 HTTP 方式訪問(不能雙擊開啟檔案),並建議使用 localhost 或 HTTPS(安全上下文)。
從倉庫工作區構建同樣的包:
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。
