SMH UIKit 是一套开箱即用的云盘文件管理 UI Kit,底层对接腾讯云 SMH(智能媒体托管)服务。接入方只需提供几个配置参数和一个 Token 获取函数,即可在自己的应用中嵌入完整的云盘能力,无需从零开发文件管理。
功能介绍
核心能力
文件 / 文件夹浏览(目录导航、返回上级、路径切换)。
文件上传(从相册或文件系统选择,分块续传、进度反馈、失败重试)。
文件下载(下载到本地相册或指定目录)。
新建文件夹。
删除、重命名、移动。
传输管理(上传 / 下载任务列表、实时进度)。
高级特性
文件搜索。
图片 / 视频在线预览。
文档在线预览。
批量操作(多选 + 批量删除 / 移动)。
效果预览
Web






iOS






Android






鸿蒙(OHOS)& 微信小程序 & H5
鸿蒙(OHOS) | 微信小程序 | H5 |
![]() | ![]() | ![]() |
使用步骤
步骤1:准备 Agent Storage / SMH 资源
参数 | 说明 | 示例 |
host | SMH API 服务地址 | https://smhxxxxxxx.api.tencentsmh.cn |
libraryId | 媒体库 ID | smhxxxxxxxxxxxxx |
librarySecret | 媒体库密钥(仅后端持有) | your_secret |
spaceId | spaceyyyyyy |
步骤2:开发者自行实现签发 Token 接口
UI Kit 在客户端通过 SDK 直连 SMH API 完成所有文件操作。每次请求都需要携带一个
accessToken 作为身份凭证。但签发 Token 需要 librarySecret(媒体库密钥),密钥绝不能暴露给客户端。因此必须由您的后端持有密钥,调用 SMH API 签发 Token,再返回给前端使用。node 服务端示例如下:const express = require('express');const app = express();app.use(express.json())app.post('/api/generate-space-token', async (req, res) => {const { spaceId } = req.body;const params = new URLSearchParams({library_id: process.env.SMH_LIBRARY_ID,library_secret: process.env.SMH_LIBRARY_SECRET, // ⚠️ 仅后端持有Grant: 'space_admin',Period: '7200',spaceId,});const response = await fetch(`${process.env.SMH_BASE_PATH}/api/v1/token?${params}`);const tokenData = await response.json();res.json({token: tokenData.accessToken,startTime: Date.now(),expiresIn: 7200,});});app.listen(3000, () => {console.log(`server running at http://localhost:3000`);});
后端 SDK 可使用
smh-node-sdk 快速搭建:npm install smh-node-sdk
步骤3:各端详细接入步骤


