SuperAPI AI 工具集

ui-toolkit/web

前端与建站

查看项目

更新于 10-25 20:20

技能介绍

用途

ui-toolkit/web 是 Zoom Video SDK UI Toolkit 在 Web 端的参考资料型技能。它面向这样的场景:用户已路由到 Web 视频工作流,并且希望使用预置的视频会议 UI,而不是自行从零构建完整的视频界面。资料同时提示,如果用户可能仍需要 Meeting SDK,应先走 choose-zoom-approach 做选型。

主要能力

UI Toolkit 是一个预构建视频 UI 库,用较少代码渲染完整视频会议体验。相较原始 Video SDK,它提供开箱即用的专业视频界面、无需编写视频布局/控件/参与者管理代码、框架无关(React、Vue、Angular、Next.js、原生 JS),并可选择启用功能与自定义主题。内置功能包括聊天、屏幕共享、设置、虚拟背景。

可用功能标识:video(视频布局与收发视频)、audio(音频按钮与收发音频)、share(屏幕共享)、chat(会话内消息)、users(参与者列表)、settings(设备选择、虚拟背景)、preview(入会前摄像头/麦克风预览)、recording(云录制,需付费套餐)、leave(离开/结束会话按钮)。

核心方法:joinSession(container, config)、closeSession(container)。事件监听:onSessionJoined、onSessionClosed、offSessionJoined、offSessionClosed。组件方法:showChatComponent/hideChatComponent、showUsersComponent/hideUsersComponent、showControlsComponent/hideControlsComponent、showSettingsComponent/hideSettingsComponent、hideAllComponents。文档还列有 destroy、leaveSession、getSessionInfo、getCurrentUserInfo、getAllUser、getClient、version、changeViewType、mirrorVideo、isSupportCustomLayout 以及音视频/共享质量统计订阅等方法。

使用方式

安装:

npm install @zoom/videosdk-zoom-ui-toolkit jsrsasign npm install -D @types/jsrsasign

注意 React 支持取决于 UI Toolkit 版本,需查看所装包的 peer dependencies(常见要求 React 18)。

基本用法(原生 JS):导入 uitoolkit 与 CSS,构建含 videoSDKJWT、sessionName、userName、sessionPasscode、features 的 config,调用 uitoolkit.joinSession(container, config),并注册 onSessionJoined / onSessionClosed 回调。

React/Next.js 集成:在客户端组件中用 useEffect 动态 import 模块与 CSS,joinSession 后注册事件,卸载时调用 closeSession 清理。TypeScript 若报 CSS 导入错误,可配置全局 *.css 声明或从全局入口导入。

JWT 鉴权:必须服务端生成,绝不可在客户端暴露 SDK secret。资料给出 Next.js API Route 示例,使用 jsrsasign 的 KJUR.jws.JWS.sign 以 HS256 签发,payload 含 app_key、role_type(0 参与者 / 1 主持人)、tpc、version(固定 1)、iat、exp、user_identity(可选)。

CDN 免构建用法:引入 https://source.zoom.us/uitoolkit/2.3.5-1/videosdk-zoom-ui-toolkit.css 与对应 .min.umd.js,通过 window.UIToolkit 调用 joinSession。

Next.js basePath:在 next.config.ts 配置 basePath 与 assetPrefix,并以完整路径请求 API 路由。

适用场景

希望快速获得完整视频方案、需要与 Zoom 一致的 UI 体验、不想自建视频 UI、需要聊天/共享/参与者等标准功能的 Web 项目。反之,若需要完全自定义 UI 控制、非标准视频体验、访问原始音视频数据或自建渲染管线,则应使用原始 Video SDK。

前提与限制

需要 Zoom Marketplace 的 Video SDK 凭证、与服务端 JWT 生成、支持 WebRTC 的现代浏览器(Chrome 78+、Firefox 76+、Safari 14.1+、Edge 79+),以及与所装 UI Toolkit 包兼容的 React 版本。常见问题包括:会话无法加入(多因 JWT)、React 18 peer 依赖报错、CSS 未加载、组件不显示(检查组件生命周期)、API 返回 HTML 而非 JSON(检查 basePath)。经验规则:始终服务端生成 JWT、清理时调用 destroy()、始终导入 CSS、不要在 joinSession 前调用组件方法、不要暴露 SDK secret。录音等付费功能的具体收费与价格资料暂未提供。