更新记录
1.0.0(2026-06-30)
- 首版发布
lizhao-gallery-pro 相册媒体 UTS 插件。
- 支持 Android / iOS 相册图片与视频统一查询、分页、时间范围、来源分类和权限状态读取。
- 支持缩略图批量生成、按媒体 ID 导出可渲染/可上传临时文件、上传辅助、缓存清理和能力矩阵。
- 上传辅助支持
dryRun 导出校验,不配置上传地址也能验证媒体可上传路径且不会发起网络请求。
- 上传结果明细新增
index 字段,并按传入 ids 顺序返回,方便业务和原始选择列表对齐。
- 缓存清理支持按
all / thumbnail / export 分类型清理,避免缩略图缓存和导出上传缓存互相影响。
- 相册分组返回图片/视频数量、封面缩略图、最新媒体 ID、最新文件名和最新创建时间,便于直接构建相册入口页。
- 相册分组支持
sourceType 来源过滤,可直接读取截图、相机、微信、QQ、下载等来源相册。
- Android 视频缩略图兜底改用
MediaMetadataRetriever 取帧,移除废弃的 createVideoThumbnail / MINI_KIND 调用。
- 提供 uni-app 与 uni-app x 内置示例,示例从插件根目录导入,覆盖权限检查、图片列表、视频列表、混合列表、导出显示和上传流程。
- 文档采用客户接入顺序组织,并在底部补充作者系列 UTS 插件推荐。
平台兼容性
uni-app(5.07)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| - |
- |
- |
- |
- |
- |
6.0 |
√ |
- |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| - |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
lizhao-gallery-pro
lizhao-gallery-pro 是面向 uni-app / uni-app x 的相册媒体读取 UTS 插件,授权后可读取系统相册图片和视频,并提供分页、筛选、缩略图、导出临时文件、来源分类和上传辅助。
当前版本:1.0.0
联系方式:信-微:l-z-1-8-7-1512-5421(-去掉,不这样写会被和谐)
功能特色
| 能力 |
解决的问题 |
对应 API |
| 图片、视频、混合列表 |
不弹系统选择器,授权后直接读取相册媒体列表 |
getGalleryImages / getGalleryVideos / getGalleryMedia |
| 分页读取 |
大图库不会一次性塞满内存,可用 nextPageToken 循环读取下一页 |
pageSize / pageToken |
| 时间筛选 |
只读取最近一天、最近一周或指定时间段内的媒体 |
startTime / endTime |
| 来源分类 |
识别相机、截图、微信、QQ、下载等来源,方便做相册入口和筛选 |
sourceType / sourceLabel |
| 相册分组 |
返回相册数量、图片/视频数量、封面和最新媒体信息 |
getGalleryAlbums |
| 缩略图 |
列表先显示小图,减少原图加载压力 |
getGalleryThumbnails |
| 临时文件导出 |
把系统媒体导出成页面可显示、接口可上传的路径 |
exportMediaToTempFile |
| 上传辅助 |
内置导出、上传、dry-run 校验、进度、重试和结果顺序对齐 |
uploadGalleryMedia |
| 缓存清理 |
缩略图缓存和导出缓存可以分开清理 |
clearGalleryCache |
| 能力矩阵 |
先判断平台能力,再决定是否展示业务入口 |
getGalleryCapabilities |
适合哪些场景
- 社区发帖、评价晒单、工单上报,需要从相册读取图片或视频。
- 素材库、云盘、相册备份,需要分页读取大量本地媒体。
- 内容审核、巡检记录、设备报修,需要按相机、截图、微信、QQ、下载等来源做分类。
- 自定义相册选择器,需要自己做 UI、分页、封面、预览和上传。
- iOS 页面需要稳定显示相册图片,不能直接依赖不可访问的原始资产路径。
- 上传前需要先生成可上传路径,或用
dryRun=true 在无服务端时验证导出链路。
接入方式怎么选
| 业务需求 |
推荐方式 |
说明 |
| 只判断入口能不能用 |
checkGalleryPermission |
不主动弹权限,只返回当前授权状态 |
| 首次进入时申请权限 |
requestGalleryPermission |
Android / iOS 按当前系统版本请求相册权限 |
| 只要图片 |
getGalleryImages |
图片选择器、相册备份、图片上传 |
| 只要视频 |
getGalleryVideos |
视频素材库、短视频投稿、视频上传 |
| 图片和视频一起获取 |
getGalleryMedia({ mediaType: 'all' }) |
混合素材列表 |
| 做相册分组页 |
getGalleryAlbums |
相册入口、来源分类、封面展示 |
| 列表显示封面 |
getGalleryThumbnails |
九宫格、瀑布流、素材管理 |
| 需要页面预览或上传 |
exportMediaToTempFile |
使用 renderPath 显示,使用 uploadPath 上传 |
| 直接上传相册文件 |
uploadGalleryMedia |
支持并发、重试、进度和 dryRun |
| 控制缓存占用 |
clearGalleryCache |
可单独清理缩略图或导出文件 |
最小示例
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
// 第一步:先检查权限。success / fail / complete 都会按调用结果触发。
GalleryPro.checkGalleryPermission({
mediaType: 'all',
success(res) {
console.log('相册权限状态', res.status, res.message)
if (!res.granted) {
// 第二步:未授权时再请求权限,避免一进页面就打扰用户。
GalleryPro.requestGalleryPermission({
mediaType: 'all',
success(auth) {
console.log('授权结果', auth.granted, auth.status)
}
})
}
},
fail(err) {
console.log('权限检查失败', err.errCode, err.errMsg)
}
})
图片列表
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
// 读取最新 30 张图片。includeThumbnail=true 会尽量返回缩略图路径。
GalleryPro.getGalleryImages({
pageSize: 30,
includeThumbnail: true,
success(res) {
console.log('图片总数', res.total)
console.log('本页图片', res.items)
console.log('下一页令牌', res.nextPageToken)
}
})
视频列表
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
// 只读取最近 7 天的视频,适合短视频投稿和素材管理。
GalleryPro.getGalleryVideos({
pageSize: 20,
startTime: Date.now() - 7 * 24 * 60 * 60 * 1000,
includeThumbnail: true,
success(res) {
console.log('视频列表', res.items)
}
})
图片视频混合列表示例
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
let nextPageToken = ''
function loadMixedPage() {
// mediaType='all' 表示图片视频混合列表;pageToken 为空时读取第一页。
GalleryPro.getGalleryMedia({
mediaType: 'all',
pageSize: 40,
pageToken: nextPageToken,
sourceType: 'all',
sortOrder: 'desc',
success(res) {
console.log('当前页媒体', res.items)
nextPageToken = res.nextPageToken
// 需要全量读取时,不要一次性设置超大 pageSize;建议这样循环读取下一页。
if (res.hasMore) {
loadMixedPage()
}
}
})
}
缩略图与导出示例
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
// 列表页建议先拿缩略图,减少原图/原视频加载压力。
GalleryPro.getGalleryThumbnails({
ids: ['media-id-1', 'media-id-2'],
width: 240,
height: 240,
success(res) {
console.log('缩略图结果', res.items)
}
})
// 用户点击预览、编辑或上传前,再导出临时文件。
GalleryPro.exportMediaToTempFile({
id: 'media-id-1',
exportType: 'render',
success(res) {
console.log('renderPath 用于页面显示,uploadPath 用于上传')
console.log(res.renderPath, res.uploadPath)
}
})
上传示例
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
// 有服务端时,传入 url 后插件会先导出文件,再调用上传接口。
GalleryPro.uploadGalleryMedia({
ids: ['media-id-1', 'media-id-2'],
url: 'https://example.com/upload',
dryRun: false,
name: 'file',
concurrency: 2,
retryCount: 1,
progress(event) {
console.log('上传进度', event.stage, event.current, event.total, event.progress)
},
success(res) {
console.log('上传成功数', res.successCount)
console.log('上传失败数', res.failCount)
console.log('items 顺序与 options.ids 一致,index 是传入 ids 的原始序号', res.items)
}
})
没有上传服务器时,可以先用 dryRun=true 校验导出链路。它只导出并返回路径,不会发起网络请求。
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
GalleryPro.uploadGalleryMedia({
ids: ['media-id-1'],
dryRun: true,
progress(event) {
console.log('导出校验进度', event.stage, event.progress)
},
success(res) {
console.log('可上传路径', res.items[0].uploadPath)
}
})
完整示例路径
| 项目类型 |
示例路径 |
说明 |
| uni-app |
uni_modules/lizhao-gallery-pro/example/uniapp/galleryPro.vue |
权限、图片列表、视频列表、混合分页、缩略图、导出、上传和缓存清理 |
| uni-app x |
uni_modules/lizhao-gallery-pro/example/uniappx/index.uvue |
使用同一组 API 验证 App 端能力 |
| Android 自动验收 |
scripts/acceptance-lizhao-gallery-pro-android.ps1 |
自定义基座安装后,通过 ADB 验证权限、分页、缩略图、导出和上传 dry-run |
API 说明
| API |
作用 |
常用场景 |
checkGalleryPermission(options) |
检查相册读取权限 |
页面入口、权限引导 |
requestGalleryPermission(options) |
请求相册读取权限 |
首次使用、用户重新授权 |
getGalleryMedia(options) |
读取图片、视频或混合媒体 |
自定义素材列表 |
getGalleryImages(options) |
读取图片列表 |
图片选择、图片上传 |
getGalleryVideos(options) |
读取视频列表 |
视频选择、视频上传 |
getGalleryThumbnails(options) |
批量生成缩略图 |
列表封面、九宫格 |
getMediaById(options) |
按 ID 读取单个媒体 |
详情页、导出前确认 |
exportMediaToTempFile(options) |
导出为临时文件 |
页面预览、编辑、上传 |
uploadGalleryMedia(options) |
导出并上传相册媒体 |
批量提交、dry-run 校验 |
getGalleryAlbums(options) |
获取相册分组 |
相册入口、来源分类 |
clearGalleryCache(options) |
清理插件缓存 |
控制缓存体积 |
getGalleryCapabilities() |
获取能力矩阵 |
平台判断、入口控制 |
API 参数表
checkGalleryPermission(options) / requestGalleryPermission(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryPermissionOptions |
是 |
权限参数对象 |
无 |
mediaType / preferFullAccess / success / fail / complete |
| options.mediaType |
GalleryMediaType |
否 |
需要检查或请求的媒体类型 |
all |
image / video / all |
| options.preferFullAccess |
boolean |
否 |
iOS 有限照片权限场景下是否更倾向完整权限 |
false |
true / false |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
getGalleryMedia(options) / getGalleryImages(options) / getGalleryVideos(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryQueryOptions |
是 |
查询参数对象 |
无 |
mediaType / pageSize / pageToken / startTime / endTime / albumId / sourceType / sortOrder / includeThumbnail / success / fail / complete |
| options.mediaType |
GalleryMediaType |
否 |
媒体类型,专用方法会自动覆盖 |
all |
image / video / all |
| options.pageSize |
number |
否 |
每页数量 |
30 |
建议 1-100 |
| options.pageToken |
string |
否 |
下一页令牌 |
空字符串 |
上次返回的 nextPageToken |
| options.startTime |
number |
否 |
开始时间,毫秒时间戳 |
无 |
无 |
| options.endTime |
number |
否 |
结束时间,毫秒时间戳 |
无 |
无 |
| options.albumId |
string |
否 |
相册 ID |
无 |
getGalleryAlbums 返回的 albumId |
| options.sourceType |
GallerySourceType |
否 |
来源分类过滤 |
all |
camera / screenshot / *** / qq / download / other / all |
| options.sortOrder |
GallerySortOrder |
否 |
排序方式 |
desc |
desc / asc |
| options.includeHidden |
boolean |
否 |
是否包含隐藏媒体 |
false |
true / false |
| options.includeThumbnail |
boolean |
否 |
是否尽量返回缩略图 |
false |
true / false |
| options.thumbnailWidth |
number |
否 |
缩略图宽度 |
240 |
无 |
| options.thumbnailHeight |
number |
否 |
缩略图高度 |
240 |
无 |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
getGalleryThumbnails(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryThumbnailOptions |
是 |
缩略图参数对象 |
无 |
ids / width / height / quality / success / fail / complete |
| options.ids |
Array<string> |
是 |
媒体 ID 列表 |
无 |
无 |
| options.width |
number |
否 |
缩略图宽度 |
240 |
无 |
| options.height |
number |
否 |
缩略图高度 |
240 |
无 |
| options.quality |
number |
否 |
图片质量 |
80 |
1-100 |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
getMediaById(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryMediaByIdOptions |
是 |
单媒体查询参数 |
无 |
id / includeThumbnail / success / fail / complete |
| options.id |
string |
是 |
媒体 ID |
无 |
无 |
| options.includeThumbnail |
boolean |
否 |
是否返回缩略图 |
false |
true / false |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
exportMediaToTempFile(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryExportOptions |
是 |
导出参数对象 |
无 |
id / exportType / fileName / success / fail / complete |
| options.id |
string |
是 |
媒体 ID |
无 |
无 |
| options.exportType |
GalleryExportType |
否 |
导出用途 |
render |
render / upload / original |
| options.fileName |
string |
否 |
自定义文件名 |
自动生成 |
无 |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
uploadGalleryMedia(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryUploadOptions |
是 |
上传参数对象 |
无 |
ids / url / dryRun / name / formData / concurrency / retryCount / timeoutMs / progress / success / fail / complete |
| options.ids |
Array<string> |
是 |
媒体 ID 列表 |
无 |
无 |
| options.url |
string |
否 |
上传地址,dryRun=true 时可不传 |
无 |
无 |
| options.dryRun |
boolean |
否 |
是否只导出校验,不发起网络请求 |
false |
true / false |
| options.name |
string |
否 |
文件字段名 |
file |
无 |
| options.formData |
UTSJSONObject |
否 |
附加表单字段 |
无 |
无 |
| options.concurrency |
number |
否 |
并发数量 |
1 |
建议 1-3 |
| options.retryCount |
number |
否 |
失败重试次数 |
0 |
无 |
| options.timeoutMs |
number |
否 |
单文件上传超时 |
60000 |
无 |
| options.progress |
function |
否 |
进度回调 |
无 |
无 |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
getGalleryAlbums(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryAlbumsOptions |
否 |
分组查询参数对象 |
{} |
mediaType / sourceType / success / fail / complete |
| options.mediaType |
GalleryMediaType |
否 |
统计图片、视频或全部媒体 |
all |
image / video / all |
| options.sourceType |
GallerySourceType |
否 |
来源分类过滤,例如 sourceType='screenshot' |
all |
camera / screenshot / *** / qq / download / other / all |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
clearGalleryCache(options)
| 参数 |
类型 |
必填 |
说明 |
默认值 |
可选参数 |
| options |
GalleryClearCacheOptions |
否 |
缓存清理参数 |
{ cacheType: 'all' } |
cacheType / olderThanMs / success / fail / complete |
| options.cacheType |
GalleryCacheType |
否 |
清理范围 |
all |
all / thumbnail / export |
| options.olderThanMs |
number |
否 |
只清理早于该时间的缓存 |
无 |
毫秒时间戳 |
| options.success |
function |
否 |
成功回调 |
无 |
无 |
| options.fail |
function |
否 |
失败回调 |
无 |
无 |
| options.complete |
function |
否 |
完成回调 |
无 |
无 |
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro'
// 只清理缩略图缓存,不影响已经导出的上传临时文件。
GalleryPro.clearGalleryCache({ cacheType: 'thumbnail' })
返回值表
GalleryPermissionResult
| 字段 |
类型 |
说明 |
| granted |
boolean |
是否已获得可读取权限 |
| status |
GalleryPermissionStatus |
权限状态:authorized / limited / denied / restricted / notDetermined / unsupported |
| mediaType |
GalleryMediaType |
本次检查或请求的媒体类型 |
| limited |
boolean |
iOS 是否为有限照片权限 |
| shouldOpenSettings |
boolean |
是否建议引导用户打开系统设置 |
| platform |
string |
当前平台 |
| message |
string |
中文说明 |
GalleryQueryResult
| 字段 |
类型 |
说明 |
| success |
boolean |
是否成功 |
| platform |
string |
当前平台 |
| mediaType |
GalleryMediaType |
当前查询媒体类型 |
| total |
number |
当前条件下可见媒体总数 |
| items |
Array<GalleryMediaItem> |
当前页媒体列表 |
| hasMore |
boolean |
是否还有下一页 |
| nextPageToken |
string |
下一页令牌 |
| message |
string |
中文说明 |
GalleryMediaItem
| 字段 |
类型 |
说明 |
| id |
string |
稳定媒体 ID |
| mediaType |
GalleryMediaType |
image / video |
| fileName |
string |
文件名 |
| mimeType |
string |
MIME 类型 |
| width / height |
number |
宽高 |
| durationMs |
number |
视频时长,图片为 0 |
| size |
number |
文件大小,单位字节 |
| createTime / modifiedTime |
number |
创建和修改时间,毫秒时间戳 |
| albumId / albumName |
string |
相册 ID 和相册名称 |
| sourceType / sourceLabel |
string |
来源分类和中文说明 |
| originalPath |
string |
原始路径或平台资产标识 |
| renderPath |
string |
页面可显示路径,必要时先调用导出 API |
| uploadPath |
string |
上传可用路径 |
| thumbnailPath |
string |
缩略图路径 |
| requiresExport |
boolean |
是否需要导出后才能稳定显示 |
GalleryExportResult
| 字段 |
类型 |
说明 |
| success |
boolean |
是否成功 |
| id |
string |
媒体 ID |
| renderPath |
string |
页面可渲染路径 |
| uploadPath |
string |
上传可用路径 |
| size |
number |
导出文件大小 |
| message |
string |
中文说明 |
GalleryUploadResult
| 字段 |
类型 |
说明 |
| success |
boolean |
整体是否成功 |
| successCount |
number |
成功数量 |
| failCount |
number |
失败数量 |
| items |
Array<GalleryUploadItemResult> |
上传明细,顺序与 options.ids 一致 |
| message |
string |
中文说明 |
GalleryAlbumItem
| 字段 |
类型 |
说明 |
| albumId |
string |
相册 ID |
| albumName |
string |
相册名称 |
| sourceType |
GallerySourceType |
来源分类 |
| count |
number |
媒体总数 |
| imageCount |
number |
图片数量 |
| videoCount |
number |
视频数量 |
| coverThumbnailPath |
string |
相册封面缩略图路径 |
| latestMediaId |
string |
最新媒体 ID |
| latestMediaType |
GalleryMediaType |
最新媒体类型 |
| latestFileName |
string |
最新媒体文件名 |
| latestCreateTime |
number |
最新媒体创建时间 |
错误码
| 错误码 |
含义 |
说明 |
| 9070001 |
unsupported or context unavailable |
当前平台不支持,或 App 上下文不可用 |
| 9070002 |
permission denied |
相册读取权限未授权或请求失败 |
| 9070003 |
invalid argument |
参数为空、ID 列表为空或格式不正确 |
| 9070004 |
media not found |
指定媒体不存在,可能已被删除或 ID 不属于当前平台 |
| 9070005 |
thumbnail failed |
缩略图生成失败 |
| 9070006 |
cache failed |
缓存目录创建或写入失败 |
| 9070007 |
query failed |
相册列表、分组或平台桥接查询失败 |
| 9070008 |
export failed |
媒体导出失败,iOS 可能需要先下载 iCloud 原图 |
| 9070009 |
upload failed |
上传过程失败 |
| 9070010 |
upload url empty |
上传地址为空,dryRun=true 时可不传 |
| 9070011 |
network failed |
网络请求失败或超时 |
| 9070012 |
cancelled |
任务被取消或系统中断 |
| 9070013 |
file unavailable |
导出后的文件不可访问 |
| 9070014 |
internal failed |
插件内部异常,建议保留日志排查 |
权限与自定义基座
| 平台 |
是否支持 |
说明 |
| uni-app App Android |
支持 |
Android 13+ 使用图片/视频媒体权限;Android 12 及以下使用外部存储读取权限 |
| uni-app App iOS |
支持 |
使用 PhotoKit,支持完整权限和有限照片权限 |
| uni-app x App Android |
支持 |
API 与 uni-app 一致,示例使用 UVUE |
| uni-app x App iOS |
支持 |
API 与 uni-app 一致,导出后返回可渲染路径 |
| App HarmonyOS |
暂不支持 |
不支持平台会明确失败,不伪造成功 |
| Web / H5 |
暂不支持 |
不支持平台会明确失败,不伪造成功 |
| 微信小程序 / 支付宝小程序 |
暂不支持 |
不支持平台会明确失败,不伪造成功 |
App 端首次集成或修改 utssdk/app-android、utssdk/app-ios、权限配置、原生依赖后,需要重新制作并安装自定义基座。只修改页面示例、样式、README、普通脚本时,通常不需要重新打自定义基座。
Android 权限建议:
- Android 13 及以上:系统会按图片、视频分别授予读取权限。
- Android 12 及以下:使用外部存储读取权限。
- 如果用户拒绝并勾选不再询问,业务应根据
shouldOpenSettings 引导用户到系统设置。
iOS 权限建议:
authorized 表示可读取完整相册。
limited 表示用户只授权了部分照片,插件会按系统可见范围读取。
- 需要在原生配置中声明相册读取和保存相关用途说明。
注意事项
- 页面只从插件根目录导入:
import * as GalleryPro from '@/uni_modules/lizhao-gallery-pro',不要导入 utssdk 子路径。
- 异步 API 都支持
success / fail / complete,业务可以统一做成功、失败和收尾处理。
- 建议先调用
checkGalleryPermission,未授权再调用 requestGalleryPermission。
- 大图库请分页读取,不建议用超大
pageSize 做一次性全量读取;如确需全量读取,请使用 nextPageToken 循环读取下一页。
- 列表页优先显示
thumbnailPath;需要原图预览或上传时,再调用 exportMediaToTempFile。
renderPath 用于页面显示,uploadPath 用于上传;不同平台路径格式不同,业务不要自行拼接路径。
uploadGalleryMedia 的结果明细顺序与 options.ids 一致,index 是传入 ids 的原始序号。
- 来源分类依赖系统相册目录、文件名和平台元数据,能覆盖相机、截图、微信、QQ、下载等常见来源,但不同 ROM 或应用保存目录可能存在差异。
clearGalleryCache({ cacheType: 'thumbnail' }) 只清理缩略图缓存,cacheType: 'export' 只清理导出缓存。
- 不支持平台会明确失败,业务可通过
getGalleryCapabilities() 控制入口显示。
作者系列UTS插件
以下为已在 DCloud 插件市场上架的作者系列 UTS 插件,可按业务场景组合使用。未列出的插件表示当前未确认公开市场页,后续上架后再补充。
| 插件 |
能力方向 |
插件市场 |
lizhao-nfc-pro |
NFC 标签读写、NDEF、IsoDep 与诊断 |
查看插件 |
lizhao-float-window |
悬浮窗、画中画、权限与诊断 |
查看插件 |
lizhao-device-id |
设备标识、隐私策略与诊断 |
查看插件 |
lizhao-scan-pro |
原生扫码、连续扫码、相册识别 |
查看插件 |
lizhao-choose-file |
原生文件选择、上传、进度与取消 |
查看插件 |
lizhao-bg-audio |
背景音频播放、队列、倍速与事件 |
查看插件 |
lizhao-smart-tts |
系统 TTS、云端合成、听书方案 |
查看插件 |
lizhao-share-plus |
系统分享、远程文件下载后分享 |
查看插件 |
lizhao-sqlite-pro |
原生 SQLite、迁移、备份与诊断 |
查看插件 |
lizhao-icon-pro |
SVG 图标组件、多主题与缓存 |
查看插件 |
lizhao-cast-screen |
DLNA 投屏、AirPlay 路由入口 |
查看插件 |
lizhao-call-kit |
电话、短信、通讯录原生能力 |
查看插件 |
lizhao-app-keepalive |
应用保活、唤醒、自愈与报告 |
查看插件 |
lizhao-doc-corrector |
文档扫描、矫正、增强与识别 |
查看插件 |
lizhao-emu-detect |
模拟器环境检测、风险评分与证据 |
查看插件 |