Tauri Demo 執行指南與下載
倉庫提供 sdk/tauri/example,一個微信風格的完整 IM 桌面應用(Tauri 2 + 原生 TypeScript):登入、單聊、群聊、訊息互動、好友、音視訊通話,以及 Tauri 桌面特性(系統通知、托盤、多視窗、拖放與路徑檔案)。它也是 SDK 端到端測試的載體,適合快速驗證 SDK 在桌面端的實際行為,也可以把介面結構、狀態管理與事件處理直接搬進自己的專案。
功能範圍
| 模組 | 覆蓋內容 |
|---|---|
| 賬號 | 密碼登入 / 註冊、登入錯誤提示、退出登入、引擎狀態與連線狀態指示 |
| 會話 | 會話列表(未讀角標、置頂、免打擾、草稿摘要、最後訊息預覽)、置頂與標記未讀、清空聊天記錄 |
| 訊息 | 文字、圖片、檔案、語音(錄音)、影片、位置;表情面板、引用回覆、轉發、表情回應、撤回、失敗重發、已讀回執、正在輸入、草稿自動儲存、日期分隔 |
| 好友 | 新增好友(驗證訊息)、申請的傳送與接受、備註、黑名單、刪除、好友資料頁 |
| 群組 | 發起群聊(多選成員)、群設定(成員網格、邀請與移除、改名)、退群、解散 |
| 桌面 | 系統通知(點選開啟會話)、托盤模式、多視窗開啟同一會話、拖放與系統對話方塊的路徑檔案傳送、工作列角標、下載與本地預覽 |
| 音影片 | 語音 / 視訊通話:發起、來電接聽與拒絕、靜音與攝像頭切換、結束通話 |
下載
Demo 原始碼包(示例 App 完整原始碼,依賴已指向已釋出的 npm 與 crates.io 製品,無需克隆 SDK 倉庫):deeprespond-im-tauri-demo-1.0.0-alpha.zip,校驗值見同目錄的 DEMO_PACKAGE_SHA256SUMS。
從倉庫工作區構建同樣的包:
bash
make sdk-tauri-demo-package # 输出 release/sdk-tauri-<版本>/deeprespond-im-tauri-demo-<版本>.zip前置條件
- Node.js ≥ 20.19 與 pnpm ≥ 9;Rust ≥ 1.90(rustup 安裝)。
- 系統依賴(編譯 Tauri 與 WebKitGTK):
- Windows:WebView2 執行時(Windows 10/11 自帶)+ Visual Studio C++ 構建工具;
- macOS:Xcode Command Line Tools(
xcode-select --install); - Linux:WebKitGTK 4.1 等開發包,Ubuntu/Debian 上:
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
- 一個已部署並可訪問的 IM 服務端,以及控制檯概覽中顯示的 AppKey(可以使用註冊時自動建立的
demo應用)。 - 音視訊通話需要在控制檯的應用策略中開啟,並配置可被桌面訪問的媒體服務(LiveKit)地址;Linux 的 WebKitGTK 是否帶 WebRTC 因發行版而異,見各系統的限制。
構建與執行
bash
unzip deeprespond-im-tauri-demo-1.0.0-alpha.zip
cd deeprespond-im-tauri-demo-1.0.0-alpha
pnpm install
export IM_APP_KEY='org_name#app_name' # 控制台应用详情中的 AppKey
export IM_API_URL='https://im.example.com' # IM 服务地址
pnpm tauri dev # 开发运行(改动热更新)
pnpm tauri build # 生成安装包:Windows(NSIS)、macOS(.app)、Linux(deb/AppImage)- 服務端資訊從環境變數讀取;不設定時應用仍會啟動,登入頁顯示初始化失敗的提示。
- Windows 上設定環境變數用
set IM_APP_KEY=…(CMD)或$env:IM_APP_KEY='…'(PowerShell)。 - 可選環境變數:
IM_TRAY=1(關閉全部視窗後駐留托盤,通知繼續可用)、IM_SINGLE_INSTANCE=0(關閉單例項限制,用於多程序測試)。 - 通知、角標等系統整合的注意事項(簽名、Info.plist、安裝包)見快速整合 · 打包與簽名。
使用提示
- 登入:在登入卡片中輸入使用者名稱與密碼(賬號由你的業務服務端建立,或直接在服務端註冊;demo 的登入卡片也支援切換為註冊模式)。登入狀態儲存在系統鑰匙串中,關閉應用再次啟動會自動恢復登入。
- 雙使用者互測:同一臺電腦的同一個系統使用者只能執行一個例項。要體驗兩個使用者互發訊息與通知,請在另一臺電腦上執行,或在瀏覽器中用 Web Demo 登入另一個使用者。
- 路徑檔案:聊天頁「+ → 桌面檔案」走系統檔案對話方塊(Rust 按路徑讀取上傳,不佔用頁面記憶體);把檔案拖入聊天視窗也可以直接傳送。
- 通知:Linux 下需要桌面環境的通知服務(GNOME/KDE 自帶);Windows 下經過安裝包安裝後通知才完整可用,見打包與簽名。
- 執行日誌:「我 → 執行日誌」可以看到 SDK 的執行日誌,排查問題時先看這裡。
