UniApp SDK 接入与下载
当前版本下载
1.0.0-alpha 的 JavaScript SDK 已发布到 npm,UTS 原生插件暂时提供文档站压缩包下载。下载包与版本固定,适合在 DCloud 插件市场上架前离线接入。
| 内容 | 下载 |
|---|---|
| JavaScript SDK 离线包(npm tarball) | deeprespond-im-uniapp-1.0.0-alpha.tgz |
| 全部 UTS 插件 | deeprespond-uniapp-plugins-1.0.0-alpha.zip |
| 单个 UTS 插件 | 见下方按需下载 |
| SHA-256 校验清单 | UNI_MODULES_SHA256SUMS |
在线项目直接安装 JavaScript 包:
npm install @deeprespond/im-uniapp@1.0.0-alpha离线项目安装 tarball:
npm install ./deeprespond-im-uniapp-1.0.0-alpha.tgz将 UTS 插件压缩包解压到项目的 uni_modules/ 目录。完整包会包含所有插件;也可以只下载 deeprespond-rtc、deeprespond-im、视频组件或需要的厂商推送插件。插件目录中的 UNIAPP_RELEASE.md 记录了依赖顺序和离线安装命令。
单个插件下载:
| 插件 | 下载 |
|---|---|
deeprespond-rtc | 下载 |
deeprespond-im | 下载 |
dr-rtc-video / dr-rtc-video-x | 视频组件 · 视频组件 X |
| 厂商推送插件 | FCM · 华为 · 荣耀 · 小米 · OPPO · vivo · 魅族 |
这些压缩包是当前版本的临时分发入口,后续 DCloud 插件市场上架后会在此处补充市场链接。新版本会使用新的版本目录,旧版本下载地址保持不变。
Demo 源码包(H5 / 小程序 / App 三个示例,排除依赖与本地配置)与 SHA-256 清单:
| 内容 | 下载 |
|---|---|
| H5 Demo 源码包 | deeprespond-uniapp-demo-h5-1.0.0-alpha.zip |
| 微信小程序 Demo 源码包 | deeprespond-uniapp-demo-miniprogram-1.0.0-alpha.zip |
| App(Android / iOS)Demo 源码包 | deeprespond-uniapp-demo-app-1.0.0-alpha.zip |
| Demo 包 SHA-256 校验清单 | DEMO_PACKAGES_SHA256SUMS |
运行方法见各 Demo 指南:H5 · 小程序 · App。源码包由仓库 web/docsweb/scripts/build-demo-packages.mjs 生成。
H5 接入
UniApp 的 H5 目标使用 @deeprespond/im-web/uniapp-h5,复用 Web SDK 和自建 LiveKit 频道媒体。App-Plus(Android / iOS)目标使用 uni_modules 原生插件(deeprespond-im / deeprespond-rtc,含 UTS 原生桥),可离线获取,见上方下载表;微信小程序目标请使用小程序 SDK,其频道能力限查询。
仓库提供三个可运行的 UniApp 示例,覆盖 H5、微信小程序与 App(Android / iOS)三个目标:
| Demo | 目录 | 指南 |
|---|---|---|
| UniApp H5 | sdk/uniapp/demo | H5 Demo 运行指南 |
| UniApp 微信小程序 | sdk/uniapp/demo-miniprogram | 小程序 Demo 运行指南 |
| UniApp App(Android / iOS) | sdk/uniapp/demo-app | App Demo 运行指南 |
创建客户端
使用包含此子路径的 SDK 版本。以下导入只能放在 H5 条件编译内;App、小程序和无 DOM 的 SSR 环境会在创建前以 unsupported 拒绝。
// #ifdef H5
import { createDRUniAppH5Client } from '@deeprespond/im-web/uniapp-h5';
const im = createDRUniAppH5Client({
appKey: 'org#app', apiUrl: 'https://im.example.com',
});
// 按 Web SDK 登录完成后,在用户操作中调用:
if (!im.channels.supported) throw new Error('当前浏览器不支持频道');
const channel = await im.channels.join('meeting-demo', { ticket: ticketFromBusinessServer });
await channel.setMicrophoneEnabled(true);
// onUnload / 路由卸载时:
await channel.leave();
// #endifUniApp 项目安装 @deeprespond/im-uniapp 后也可以从 @deeprespond/im-uniapp/h5 导入,它转发自 @deeprespond/im-web/uniapp-h5,是同一个入口,仓库 demo 使用的就是这个子路径。已在 Web 项目中使用 @deeprespond/im-web 的,直接用 /uniapp-h5 子路径即可,无需额外装包。
创建选项、登录、查询与恢复遵循Web SDK。频道轨道和显示见Web 频道接入,Vue 状态订阅可用 useChannel。
权限与页面收尾
需 HTTPS / localhost 安全上下文和 WebRTC;采集由用户操作触发,处理拒绝权限和音视频自动播放失败。默认不采集,角色和媒体类型限制同 Web。
页面卸载时取消尚未完成的 join 并对已有句柄调用 leave,再清理订阅和视频元素。移除页面元素不等于退出频道。
H5 入口随 Web SDK 提供;H5 页面权限与播放验收仍需按项目场景完成。不能将它作为 UniApp App 原生音视频实现。仓库 demo 已按上述要求实现页面收尾,可作为参考实现。
