# @capgo/capacitor-photo-library 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-photo-library/

版本：8\.0\.32
npm 元数据更新时间：2026-10-19T22:10:27.510Z
中文译文更新时间：2026-11-09T03:00:13.327Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-photo-library
原文对照：https://npmcn.com/package/%40capgo/capacitor-photo-library/?lang=original
项目主页：https://capgo.app/docs/plugins/photo-library/
源码仓库：https://github.com/Cap-go/capacitor-photo-library

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：178 kB，32 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2025-10-03T11:35:42.450Z
- 最新版本发布：2026-10-19T22:10:27.198Z
- 近 30 天下载量：62698（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：55（近 12 个月 34 个）

## 中文简介

电容插件 显示图片库为网页, 或无法修改但不需要授权的无聊本地屏幕

## 安装

```sh
npm install @capgo/capacitor-photo-library
```

也可以使用：`pnpm add @capgo/capacitor-photo-library`、`yarn add @capgo/capacitor-photo-library`、`bun add @capgo/capacitor-photo-library`

## README

# @ capgo/ 电容器- photo- 图书馆

在您的 Capacitor app 中构建自己的相册画廊:列表相册,通过照片和带缩略图的视频页面,或者打开本地取相机,没有完整的图书库访问权限.

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-photo-library)](https://capgo.app/?ref=plugin_photo_library)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_photo_library)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_photo_library) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-photo-library` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _将@capgo/capor-photo-library添加到我的Capacitor应用上,并把它接上_ [代理设置指南](https://capgo.app/agents/?ref=plugin_photo_library) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_photo_library)

![@capgo/capacitor-photo-library for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-photo-library/main/assets/github-social-preview.png)

## 主要特点

-   **图书馆访问**数字 : `checkAuthorization()` 财务报告和审定财务报表 `requestAuthorization()`,包括iOS的有限访问.
-   **专辑和资产**数字 : `getAlbums()` 财务报告和审定财务报表 `getLibrary()` 与呼和可选视频.
-   **显示 URL**数字 : `getThumbnailUrl()` 财务报告和审定财务报表 `getPhotoUrl()` 返回您的 WebView 可显示的 URL.
-   **系统拾取器**数字 : `pickMedia()` 带有选择限制,不需要库权限.
-   **平台**: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. iOS使用相片和相片UI,Android使用MediaStore. 在网上不可用.

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/相-图书馆/](https://capgo.app/docs/plugins/photo-library/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |

> **说明:** 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-photo-library` plugin in my project.
```

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capgo/capacitor-photo-library
npx cap sync
```

## 使用量

```ts
import { Capacitor } from '@capacitor/core';
import { PhotoLibrary } from '@capgo/capacitor-photo-library';

const { state } = await PhotoLibrary.requestAuthorization();
if (state === 'authorized' || state === 'limited') {
  const { assets, hasMore } = await PhotoLibrary.getLibrary({
    limit: 100,
    thumbnailWidth: 256,
    thumbnailHeight: 256,
  });

  const gallery = assets.map(asset => ({
    id: asset.id,
    fileName: asset.fileName,
    thumbnailUrl: asset.thumbnail
      ? asset.thumbnail.webPath ?? Capacitor.convertFileSrc(asset.thumbnail.path)
      : undefined,
    photoUrl: asset.file
      ? asset.file.webPath ?? Capacitor.convertFileSrc(asset.file.path)
      : undefined,
  }));

  console.log('Loaded', gallery.length, 'items. More available?', hasMore);
}

const picked = await PhotoLibrary.pickMedia({
  selectionLimit: 3,
  includeVideos: true,
});

console.log('User selected', picked.assets.length, 'items');
```

程序缓存中的本地执行缓存导出文件 目录。 您可以安全删除 `photoLibrary` 缓存下的文件夹,如果 你需要腾出空间.

## API 密码

-   [`checkAuthorization()`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-checkauthorization)
-   [`requestAuthorization()`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-requestauthorization)
-   [`getAlbums()`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getalbums)
-   [`getLibrary(...)`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getlibrary)
-   [`getPhotoUrl(...)`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getphotourl)
-   [`getThumbnailUrl(...)`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getthumbnailurl)
-   [`pickMedia(...)`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-pickmedia)
-   [`getPluginVersion()`](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getpluginversion)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-type-aliases)

### 检查认证( C)

```typescript
checkAuthorization() => Promise<{ state: PhotoLibraryAuthorizationState; }>
```

在不提示用户的情况下返回当前授权状态 .

**回返情况:** `Promise<{ state: [PhotoLibraryAuthorizationState](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photolibraryauthorizationstate); }>`

* * *

### 请求认证 ()

```typescript
requestAuthorization() => Promise<{ state: PhotoLibraryAuthorizationState; }>
```

必要时请求访问相片库.

**回返情况:** `Promise<{ state: [PhotoLibraryAuthorizationState](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photolibraryauthorizationstate); }>`

* * *

### 获取 Albums ()

```typescript
getAlbums() => Promise<{ albums: PhotoLibraryAlbum[]; }>
```

获取可用的相册 .

**回返情况:** `Promise<{ albums: PhotoLibraryAlbum[]; }>`

* * *

### 获取图书馆(...)

```typescript
getLibrary(options?: GetLibraryOptions | undefined) => Promise<GetLibraryResult>
```

检索库资产以及可以在网页视图中显示的URL.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[GetLibraryOptions](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getlibraryoptions)` |

**回返情况:** `Promise<[GetLibraryResult](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-getlibraryresult)>`

* * *

### 获取 PhotoUrl (...)

```typescript
getPhotoUrl(options: { id: string; }) => Promise<PhotoLibraryFile>
```

获取资产全解析版本的可显示 URL . 如果你已经打电话 `getLibrary` 与 `includeFullResolutionData`,你平时 不需要这种方法.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id: string; }` |

**回返情况:** `Promise<[PhotoLibraryFile](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photolibraryfile)>`

* * *

### 获取 ThumbnailUrl (...)

```typescript
getThumbnailUrl(options: { id: string; width?: number; height?: number; quality?: number; }) => Promise<PhotoLibraryFile>
```

获取资产缩略图的可显示 URL .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id: string; width?: number; height?: number; quality?: number; }` |

**回返情况:** `Promise<[PhotoLibraryFile](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photolibraryfile)>`

* * *

### 选择媒体(...)

```typescript
pickMedia(options?: PickMediaOptions | undefined) => Promise<PickMediaResult>
```

打开本地系统取取器,使用户可以选择媒体而无需提供完整的相片库访问权限. 所选文件被复制到应用程序缓存中,并以可移植的URL返回.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[PickMediaOptions](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-pickmediaoptions)` |

**回返情况:** `Promise<[PickMediaResult](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-pickmediaresult)>`

* * *

### 获取 PluginVersion ()

```typescript
getPluginVersion() => Promise<{ version: string; }>
```

获取本地 Capacitor 插件版本

**回返情况:** `Promise<{ version: string; }>`

* * *

### 接口

#### 图片库

| Prop | 类型 |
| --- | --- |
| **`id`** | `string` |
| **`title`** | `string` |
| **`assetCount`** | `number` |

#### 获取图书馆档案

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`assets`** | `PhotoLibraryAsset[]` |  |
| **`totalCount`** | `number` | 库中匹配查询的资产总数 . `assets.length` 当使用页化时,可以小于此值. |
| **`hasMore`** | `boolean` | 使用 pagination 时是否有更多资产可用 . |

#### 相片图书馆

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`id`** | `string` |  |
| **`fileName`** | `string` |  |
| **`type`** | `[PhotoAssetType](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photoassettype)` |  |
| **`width`** | `number` |  |
| **`height`** | `number` |  |
| **`duration`** | `number` |  |
| **`creationDate`** | `string` |  |
| **`modificationDate`** | `string` |  |
| **`latitude`** | `number` |  |
| **`longitude`** | `number` |  |
| **`mimeType`** | `string` |  |
| **`size`** | `number` | 如果有的话,操作系统报告的基本资产的字节大小. |
| **`albumIds`** | `string[]` |  |
| **`thumbnail`** | `[PhotoLibraryFile](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photolibraryfile)` |  |
| **`file`** | `[PhotoLibraryFile](https://npmcn.com/package/%40capgo/capacitor-photo-library/#readme-photolibraryfile)` |  |

#### 相片图书馆文件

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`path`** | `string` | 本地文件系统中的绝对路径 . |
| **`webPath`** | `string` | 可在网页视图内使用的 URL 。 通常由 `Capacitor.convertFileSrc(path)`。 。 。 . |
| **`mimeType`** | `string` |  |
| **`size`** | `number` | 已知的字节大小, 否则 `-1`。 。 。 . |

#### 获取图书馆选项

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`offset`** | `number` | 从查询开始跳过的资产数量 . |
| **`limit`** | `number` | 最多资产数量。 放弃所有匹配的东西. |
| **`includeImages`** | `boolean` | 在结果中包含图像 。 默认为 `true`。 。 。 . |
| **`includeVideos`** | `boolean` | 在结果中包含视频. 默认为 `false`。 。 。 . |
| **`includeAlbumData`** | `boolean` | 包含每个资产所属相册的信息 。 默认为 `false`。 。 。 . |
| **`includeCloudData`** | `boolean` | 包括存储于云(iCloud / Google Photos)的资产. 默认为 `true`。 。 。 . |
| **`useOriginalFileNames`** | `boolean` | 若为 `true`,在可用时使用操作系统报告的原始文件名. |
| **`thumbnailWidth`** | `number` | 生成缩略图的宽度 。 默认为 `512`。 。 。 . |
| **`thumbnailHeight`** | `number` | 生成缩略图的高度 。 默认为 `384`。 。 。 . |
| **`thumbnailQuality`** | `number` | JPEG 生成缩略图的质量 (0-1). 默认为 `0.5`。 。 。 . |
| **`includeFullResolutionData`** | `boolean` | 何时 `true`,将完整的大小资产复制到应用程序缓存并返回其URL。 默认为 `false`。 。 。 . |

#### 选择媒体

| Prop | 类型 |
| --- | --- |
| **`assets`** | `PhotoLibraryAsset[]` |

#### 选择媒体选项

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`selectionLimit`** | `number` | 用户可以选择的最大项目数 。 使用 `0` 允许无限选择。 默认为 `1`。 。 。 . |
| **`includeImages`** | `boolean` | 允许用户选择图像 。 默认为 `true`。 。 。 . |
| **`includeVideos`** | `boolean` | 允许用户选择视频. 默认为 `false`。 。 。 . |
| **`thumbnailWidth`** | `number` | 选中项目生成的缩略图的宽度 。 默认为 `256`。 。 。 . |
| **`thumbnailHeight`** | `number` | 所选项目生成缩略图的高度 。 默认为 `256`。 。 。 . |
| **`thumbnailQuality`** | `number` | JPEG 生成缩略图的质量 (0-1). 默认为 `0.7`。 。 。 . |

### 类型异名

#### 照片图书馆认证状态

`'authorized' | 'limited' | 'denied' | 'notDetermined'`

#### 相片设定类型

`'image' | 'video'`

## 常见问题

### @capgo/capacitor-photo-library 是什么？

电容插件 显示图片库为网页, 或无法修改但不需要授权的无聊本地屏幕

### 如何安装 @capgo/capacitor-photo-library？

在项目目录运行 npm install @capgo/capacitor-photo-library，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-photo-library 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/capacitor-photo-library 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/capacitor-photo-library 可以商用吗？

@capgo/capacitor-photo-library 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-photo-library 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-photo-library 在 2026/10/09 – 2026/11/07 这 30 天内被下载 62,698 次，日均约 2,090 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-photo-library 还在维护吗？

最新版本 8\.0\.32 发布于 2026/10/20（20 天前）；至今共发布 55 个版本，其中过去 12 个月发布了 34 个；首次发布于 2025/10/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

