35 lines
1.0 KiB
Plaintext
35 lines
1.0 KiB
Plaintext
---
|
|
title: 媒体库
|
|
description: 提供存储 Adapter,并加入浏览、上传、文件夹和资源选择能力。
|
|
order: 21
|
|
toc:
|
|
- id: implement-the-adapter
|
|
title: 实现 Adapter
|
|
- id: provide-media
|
|
title: 提供媒体能力
|
|
- id: selection-flows
|
|
title: 选择流程
|
|
---
|
|
|
|
## 实现 Adapter {#implement-the-adapter}
|
|
|
|
`MediaAdapter` 是媒体功能完整的持久化边界。通过产品存储服务实现查询、上传、文件夹、更新和删除操作。
|
|
|
|
## 提供媒体能力 {#provide-media}
|
|
|
|
在媒体界面外挂载一次 Adapter:
|
|
|
|
```tsx
|
|
import { MediaLibrary, MediaProvider } from "@workspace/blocks/media"
|
|
|
|
;<MediaProvider adapter={mediaAdapter} notify={showNotice}>
|
|
<MediaLibrary />
|
|
</MediaProvider>
|
|
```
|
|
|
|
可选的 `notify` 回调把操作结果转换为应用的 Toast 或通知。
|
|
|
|
## 选择流程 {#selection-flows}
|
|
|
|
单选或多选资源使用 `MediaPickerDialog`。`readMediaDimensions`、`formatMediaFileSize` 和 `defaultMediaReference` 覆盖上传与预览相关的常用展示工作。
|