简介

最近更新时间:2026-05-06 17:29:22

我的收藏
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
空间 ID(每个用户/租户一个),可通过 创建空间 API 获取
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:各端详细接入步骤