当前位置: 首页 > news >正文

uniapp选择相册

在这里插入图片描述

概述

一款针对Android平台下的图片选择器,支持从相册获取图片、视频、音频&拍照,支持裁剪(单图or多图裁剪)、压缩、主题自定义配置等功能,支持动态获取权限&适配Android 5.0+系统的开源图片选择框架。
支持Uniapp和Uniapp X下的Vue2、VUe3编译,支持所有Android主流操作系统,兼容行可靠稳定

功能说明

下载源码

一. 参数说明

参数默认值说明
selectMimeType0全部0 图片1 视频1 硬盘3
language0系统默认 -1; 简体中文 0; 繁体 1; 英语 2; 韩语 3; 德语 4; 法语 5; 日语 6; 越语 7; 西班牙语 8; 葡萄牙语 9; 阿拉伯语 10; 俄语 11; 捷克 12; 哈萨克斯坦 13;
isCompresstrue是否压缩
isCropfalse是否剪切
isCameraIntercepttrue是否拦截相机按钮
isCameraForegroundServicetrue是否在前台运行
isDisplayCameratrue是否显示相机
isPageStrategytrue是否开启分页策略
maxSelectNum9最大选择数量
minSelectNum0最小选择数量
isVideoPauseResumePlaytrue视频支持暂停与播放
isQuickCapturetrue使用系统摄像机录制后,是否支持使用系统播放器立即播放视频
isPreviewAudiotrue是否支持音频预览
isPreviewImagetrue是否支持预览图片
isPreviewVideotrue是否支持预览视频
isPreviewFullScreenModetrue是否支持全屏预览
isEmptyResultReturntrue是否支持未选择返回
isWithSelectVideoImagetrue是否支持视频图片同选
isSelectZoomAnimtrue选择缩略图缩放效果
isOpenClickSoundtrue是否开启点击音效
isCameraAroundStatetrue是否开启相机前后切换
isCameraRotateImagetrue拍照是否纠正旋转图片
isGiftrue是否显示gif文件
isWebptrue是否显示webp文件
isBmptrue是否显示bmp文件
isMaxSelectEnabledMasktrue达到最大选择数是否开启禁选蒙层
isSyncCovertrueisPageModel模式下是否强制同步封面,默认false
isAutomaticTitleRecyclerToptrue点击相册标题是否快速回到第一项
isAutoVideoPlaytrue预览视频是否自动播放
isLoopAutoVideoPlaytrue预览视频是否循环播放
isFilterSizeDurationtrue是否过滤图片或音视频大小时长为0的资源
isFastSlidingSelecttrue是否快速滑动选择
isDirectReturnSingletrue是否直接返回单选
isPageSyncAlbumCounttrue分页模式下设置过滤条件后是否同步专辑下资源的数量
isUseSystemVideoPlayertrue是否使用系统自带的视频播放器

二. 返回数据说明

返回数据数据类型说明
compressedboolean是否压缩
compressPathsrtring压缩路径;设置了isCompress;时返回;
fileNamesrtring文件名
maxSelectEnabledMaskboolean是否有最大数量限制
numint文件数量
bucketIdint
mimeTypesrtring文件类型
durationint文件时长
cropResultAspectRatioint剪切宽高比
pathsrtring原图path,但在Android Q版本上返回的是content:// Uri类型
checkedboolean是否选中
realPathsrtring绝对路径
idint
toSandboxPathboolean是否使用自定义输出路径
sandboxPathsrtring自定义输出路径
chooseModelint
widthint宽度
heightint高度
originalboolean是否开启原图
availablePathsrtring
cutboolean是否剪切
cutPathsrtring裁剪后path,设置了isCrop返回
cropImageWidthint剪切宽度
cropImageHeightint剪切高度
parentFolderNamestring
sizeint文件大小
cropOffsetXint图片X轴偏移量
cropOffsetYint图片Y轴偏移量
galleryEnabledMaskboolean
editorImageboolean是否编辑
cameraSourceboolean是否原图
positionint位置
dateAddedTimedate文件添加时间

三.注意事项

从应用市场下载插件导入自己项目后,要先制作自定义插件后,才可以运行使用插件需在 Android 5.0 版本及以上方可正常使用尽量使用 HBuilderX 4.0+ 以上的最新版本,以便更好在uni-app和uni-app x中使用uts插件

2.完整代码示例

<template><view><button @click="openPicture()">打开相册</button><uni-grid :column="4" :highlight="true"><uni-grid-item v-for="(result, index) in resultList" :index="index" :key="index"><view style="background-color: #fff; display: flex; justify-content: center; align-items: center;"><image :src="result.path" mode="aspectFit" :style="{'width': imageSize + 'px', 'height': imageSize + 'px'}"></image></view></uni-grid-item></uni-grid><view style="margin: 10px;"> 返回值:</view><scroll-view scroll-x="true" style="margin:20px; 0px "><y-json-view :json="resultList" closed /></scroll-view></view>
</template><script>import {open} from '@/uni_modules/pic-selector'const modal = uni.requireNativePlugin('modal');export default {data() {return {imageSize:uni.getSystemInfoSync().windowWidth/4-10,resultList:[// {//     "compressed": true,//是否压缩//     "compressPath": "",//压缩路径;设置了isCompress;时返回;//     "fileName": "",//文件名//     "maxSelectEnabledMask": false,//     "num": 1,//文件数量//     "bucketId": -643270046,//     "mimeType": "image/jpeg",//文件类型//     "duration": 0,//文件时长//     "cropResultAspectRatio": 1,//     "path": "",//原图path,但在Android Q版本上返回的是content:// Uri类型//     "checked": false,//     "realPath": "",//绝对路径//     "id": 13043,//     "toSandboxPath": true,//是否使用自定义输出路径//     "sandboxPath": "",//自定义输出路径//     "chooseModel": 0,//     "width": 1134,//宽度//     "height": 1780,//高度//     "original": false,//是否开启原图//     "availablePath": "",//     "cut": true,//是否剪切//     "cutPath": "",//裁剪后path,设置了isCrop返回//     "cropImageWidth": 567,//剪切宽度//     "cropImageHeight": 567,//剪切高度//     "parentFolderName": "WeiXin",//     "size": 392774,//文件大小//     "cropOffsetX": 0,//图片X轴偏移量//     "cropOffsetY": 162,//图片Y轴偏移量//     "galleryEnabledMask": false,//     "editorImage": false,//     "cameraSource": false,//     "position": 1,//     "dateAddedTime": 1749993134// }]}},methods: {openPicture(){let _this = thislet params = {selectMimeType:0,//全部0 图片1 视频1 硬盘3language:0, //system Language -1; 简体中文  0; 繁体 1; 英语 2;  韩语 3; 德语 4; 法语 5; 日语 6; 越语 7;  西班牙语 8; 葡萄牙语 9; 阿拉伯语 10; 俄语 11; 捷克 12; 哈萨克斯坦 13;isCompress:true,//是否压缩isCrop:false,//是否剪切isCameraIntercept :true,//是否拦截相机按钮isCameraForegroundService:true,//是否在前台运行isDisplayCamera:true,//是否显示相机isPageStrategy:true,//是否开启分页策略maxSelectNum:99,//最大选择数量minSelectNum:0,//最小选择数量isVideoPauseResumePlay:true,//视频支持暂停与播放isQuickCapture:true,//使用系统摄像机录制后,是否支持使用系统播放器立即播放视频isPreviewAudio:true,//是否支持音频预览isPreviewImage:true,//是否支持预览图片isPreviewVideo:true,//是否支持预览视频isPreviewFullScreenMode:true,//是否支持全屏预览isEmptyResultReturn:true,//是否支持未选择返回isWithSelectVideoImage:true,//是否支持视频图片同选isSelectZoomAnim:true, //选择缩略图缩放效果isOpenClickSound:true,//是否开启点击音效isCameraAroundState:true,//是否开启相机前后切换isCameraRotateImage:true,//拍照是否纠正旋转图片isGif:true,//是否显示gif文件isWebp:true, //是否显示webp文件isBmp:true,//是否显示bmp文件isMaxSelectEnabledMask:true,//达到最大选择数是否开启禁选蒙层isSyncCover:true, //isPageModel模式下是否强制同步封面,默认falseisAutomaticTitleRecyclerTop:true,//点击相册标题是否快速回到第一项isAutoVideoPlay:true,//预览视频是否自动播放isLoopAutoVideoPlay:true,//预览视频是否循环播放isFilterSizeDuration:true,//是否过滤图片或音视频大小时长为0的资源isFastSlidingSelect:true,//是否快速滑动选择isDirectReturnSingle:true,//是否直接返回单选isPageSyncAlbumCount:true,//分页模式下设置过滤条件后是否同步专辑下资源的数量isUseSystemVideoPlayer:true,//是否使用系统自带的视频播放器}open(params,{onResult(result){if(result){_this.resultList = JSON.parse(result)console.log('onResult--->>',result)modal.toast({ message: _this.resultList, duration: 1.5 });}},onCancel(){console.log('onCancel--->>',result)}})}}}
</script><style>
</style>

长期维护,持续更新,对付费用户提供终身免费技术支持

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/264362.html

相关文章:

  • CAD文件处理控件Aspose.CAD教程:使用 Python 将绘图转换为 Photoshop
  • 【基础】Golang 执行命令shell命令 + Start和Run方法详解
  • ES6数组的`flat()`和`flatMap()`函数用法
  • 黑马python(二十三)
  • vue2 el-select下拉选择框 点击其他位置或者弹窗关闭下拉框/点击取消时,下拉框变成之前的值
  • 2025年跨端云真机测试平台深度测评:XR与折叠屏时代的兼容性之战
  • 《量化开发》系列 第 1 篇:金融知识基础入门指南(附 GitHub 学习项目)
  • 什么是 BigKey?
  • 定时器的设计
  • 电源芯片之DCDC初探索ING
  • 用lines_gauss的width属性提取缺陷
  • 视频内存太大怎么压缩变小一点?视频压缩的常用方法
  • 复现nanoGPT——train.py(详细版拆解)
  • k8s将service的IP对应的不同端口分配到不同的pod上
  • 【普通人学AI】玩转 Prompt 提示词工程 (一)
  • 使用 icinga2 写入 TDengine
  • 翻译《The Old New Thing》- 解除路径的 MAX_PATH 限制仅适用于路径本身
  • 通过http调用来访问neo4j时报错,curl -X POST 执行指令报错
  • C# 程序:查看 PageUp 热键消息映射表
  • torch.nn
  • Vue 安装使用教程
  • [Python] -基础篇8-Python中的注释与代码风格PEP8指南
  • muduo
  • SQL学习笔记6
  • OpenCV篇——项目(一)OCR识别读取银行卡号码
  • 在 Docker 容器中使用内网穿透
  • ubuntu 安装QT
  • 【python】三元表达式
  • Jeecg前端经验汇总
  • 扫描电子显微镜(SEM)夏令营面试基础题及答案