@capgo/capacitor-photo-library

中文文档
8.0.32发布于 2026/10/20MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 6.3万

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

中文使用文档
文档目录17 节
  1. *免费开始*
  2. 主要特点
  3. 文档
  4. 兼容性
  5. 安装
  6. 使用量
  7. API 密码
  8. 检查认证( C)
  9. 请求认证 ()
  10. 获取 Albums ()
  11. 获取图书馆(...)
  12. 获取 PhotoUrl (...)
  13. 获取 ThumbnailUrl (...)
  14. 选择媒体(...)
  15. 获取 PluginVersion ()
  16. 接口
  17. 类型异名

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

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

Capgo - Build Capacitor apps with AI, ship updates instantly

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

*免费开始*

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

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

@capgo/capacitor-photo-library for Capacitor apps

主要特点

  • 图书馆访问数字 : 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/相-图书馆/

兼容性

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

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

安装

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

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

然后使用下列提示:

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

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

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

使用量

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 密码

检查认证( C)

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

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

回返情况: Promise<{ state: PhotoLibraryAuthorizationState; }>


请求认证 ()

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

必要时请求访问相片库.

回返情况: Promise<{ state: PhotoLibraryAuthorizationState; }>


获取 Albums ()

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

获取可用的相册 .

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


获取图书馆(...)

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

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

参数类型
optionsGetLibraryOptions

回返情况: Promise<GetLibraryResult>


获取 PhotoUrl (...)

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

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

参数类型
options{ id: string; }

回返情况: Promise<PhotoLibraryFile>


获取 ThumbnailUrl (...)

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

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

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

回返情况: Promise<PhotoLibraryFile>


选择媒体(...)

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

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

参数类型
optionsPickMediaOptions

回返情况: Promise<PickMediaResult>


获取 PluginVersion ()

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

获取本地 Capacitor 插件版本

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


接口

图片库

Prop类型
idstring
titlestring
assetCountnumber

获取图书馆档案

Prop类型说明
assetsPhotoLibraryAsset[]
totalCountnumber库中匹配查询的资产总数 . assets.length 当使用页化时,可以小于此值.
hasMoreboolean使用 pagination 时是否有更多资产可用 .

相片图书馆

Prop类型说明
idstring
fileNamestring
typePhotoAssetType
widthnumber
heightnumber
durationnumber
creationDatestring
modificationDatestring
latitudenumber
longitudenumber
mimeTypestring
sizenumber如果有的话,操作系统报告的基本资产的字节大小.
albumIdsstring[]
thumbnailPhotoLibraryFile
filePhotoLibraryFile

相片图书馆文件

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

获取图书馆选项

Prop类型说明
offsetnumber从查询开始跳过的资产数量 .
limitnumber最多资产数量。 放弃所有匹配的东西.
includeImagesboolean在结果中包含图像 。 默认为 true。 。 。 .
includeVideosboolean在结果中包含视频. 默认为 false。 。 。 .
includeAlbumDataboolean包含每个资产所属相册的信息 。 默认为 false。 。 。 .
includeCloudDataboolean包括存储于云(iCloud / Google Photos)的资产. 默认为 true。 。 。 .
useOriginalFileNamesboolean若为 true,在可用时使用操作系统报告的原始文件名.
thumbnailWidthnumber生成缩略图的宽度 。 默认为 512。 。 。 .
thumbnailHeightnumber生成缩略图的高度 。 默认为 384。 。 。 .
thumbnailQualitynumberJPEG 生成缩略图的质量 (0-1). 默认为 0.5。 。 。 .
includeFullResolutionDataboolean何时 true,将完整的大小资产复制到应用程序缓存并返回其URL。 默认为 false。 。 。 .

选择媒体

Prop类型
assetsPhotoLibraryAsset[]

选择媒体选项

Prop类型说明
selectionLimitnumber用户可以选择的最大项目数 。 使用 0 允许无限选择。 默认为 1。 。 。 .
includeImagesboolean允许用户选择图像 。 默认为 true。 。 。 .
includeVideosboolean允许用户选择视频. 默认为 false。 。 。 .
thumbnailWidthnumber选中项目生成的缩略图的宽度 。 默认为 256。 。 。 .
thumbnailHeightnumber所选项目生成缩略图的高度 。 默认为 256。 。 。 .
thumbnailQualitynumberJPEG 生成缩略图的质量 (0-1). 默认为 0.7。 。 。 .

类型异名

照片图书馆认证状态

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

相片设定类型

'image' | 'video'

版本与发布记录

@capgo/capacitor-photo-library 共发布 55 个版本,首次发布于 2025/10/03;过去 12 个月发布了 34 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.0.32latest2026/10/2020 天前
8.0.312026/10/1525 天前
8.0.302026/10/1327 天前
8.0.292026/10/091 个月前
8.0.282026/10/091 个月前
8.0.272026/10/091 个月前

关于 @capgo/capacitor-photo-library 的常见问题

@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 和提交记录判断。