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.pswp.cn/bicheng/87372.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAC 多应用切换技巧,单应用切换技巧

在 Mac 上&#xff0c;有几种快捷键可以帮助你快速切换应用程序窗口&#xff1a; 1. Command (⌘) Tab - 这是最常用的快捷键&#xff0c;用于在打开的应用程序之间进行循环切换。按住 Command 键不放&#xff0c;然后反复按下 Tab 键可以选择下一个应用程序。当你松开 Comm…

SpringBoot+本地部署大模型实现知识库功能

SpringBoot本地部署大模型实现RAG知识库功能 1、Linux系统部署本地大模型1.1 安装ollama1.2 启动ollama1.3 下载deepseek模型 2、Springboot代码调用本地模型实现基础问答功能3、集成向量数据库4、知识库数据喂取5、最终实现RAG知识库功能 1、Linux系统部署本地大模型 1.1 安装…

嵌入式原理与应用篇---ARM

ARM 架构的 STM32 系列微控制器广泛应用于嵌入式系统开发&#xff0c;理解其汇编语言指令对于优化性能、访问硬件底层非常重要。下面详细解释常见的 ARM 汇编指令及其使用实例。 数据处理指令 1. MOV&#xff08;移动&#xff09; 功能&#xff1a;将立即数或寄存器值复制到…

【RHCSA-Linux考试题目笔记(自用)】servera的题目

一、开始 1、启动rhcsa环境 2、点击题目&#xff0c;看题 3、通过控制器来启动所有虚拟机 控制器 打开后点start&#xff0c;然后ok 之后进入一个有classroom、servera、serverb&#xff08;考试不一定叫这些名&#xff0c;但大差不差&#xff09;什么之类的界面&#xff0c;…

SpringBoot项目使用arthas-tunnel-server

参考官网Arthas Spring Boot Starter | arthas Spring Boot系列之使用Arthas Tunnel Server 进行远程调试实践-腾讯云开发者社区-腾讯云 springBoot项目, 增加maven依赖 <dependency><groupId>com.taobao.arthas</groupId><artifactId>arthas-sprin…

Modbus TCP 进阶:基于以太网的远程设备控制(二)

基于 Modbus TCP 的远程设备控制实战 &#xff08;一&#xff09;硬件与网络搭建实操 1. 设备选型与连接 在工业现场&#xff0c;根据远程控制需求进行设备选型至关重要 。对于传感器&#xff0c;若要监测温度&#xff0c;可选择高精度的热电偶传感器&#xff0c;如 K 型热电…

分库分表之实战-sharding-JDBC

大家好&#xff0c;我是工藤学编程 &#x1f989;一个正在努力学习的小博主&#xff0c;期待你的关注实战代码系列最新文章&#x1f609;C实现图书管理系统&#xff08;Qt C GUI界面版&#xff09;SpringBoot实战系列&#x1f437;【SpringBoot实战系列】Sharding-Jdbc实现分库…

httpcore-nio引起的线程、fd泄露问题

依赖来源&#xff1a;httpasyncclient-4.1.4.jar 现象 程序报错too many open files 线程数飙升、句柄数飙升 thread dump显示大量 "I/O dispatcher 7215" #9102 prio5 os_prio0 tid0x00002b7ba036a800 nid0x6f24 runnable [0x00002b7d98d41000]java.lang.Thread.…

多线程生产者消费者模型实战案例

多线程生产者消费者模型实战案例 前言业务场景术前准备无锁无事务有事务 synchronized事务在锁外事务在锁内 数据库行锁什么是数据库行锁有事务没有事务 乐观锁ReentrantLock分布式锁 前言 曾经一直有一个疑惑&#xff0c;就是关于多线程生产者消费者模型的学习过程中&#xf…

青少年编程与数学 02-022 专业应用软件简介 03 三维建模及动画软件:Autodesk Maya

青少年编程与数学 02-022 专业应用软件简介 03 三维建模及动画软件&#xff1a;Autodesk Maya 一、什么是三维建模二、什么是计算机动画三、三维建模及动画设计软件的发展历程&#xff08;一&#xff09;早期探索阶段&#xff08;20世纪60年代 - 80年代&#xff09;&#xff08…

获得 OCM 大师证书学习历练

当我站在山城重庆的洪崖洞前&#xff0c;看着璀璨的夜景倒映在嘉陵江上&#xff0c;手中紧握着 OCM 大师证书&#xff0c;那一刻&#xff0c;备考时的艰辛与考试时的紧张都化作了满满的成就感。这段在重庆获得 OCM 大师证书的经历&#xff0c;就像一场充满挑战与惊喜的冒险&…

srs-gb28181 与 SRS 5.0 对 GB28181 国标支持

srs-gb28181 是基于 SRS 4.0/5.0 的国标&#xff08;GB28181&#xff09;扩展分支&#xff0c;而 SRS 5.0 官方版本也逐步增强了对 GB28181 的支持。以下是两者的主要区别&#xff1a; 1. 功能支持对比 功能srs-gb28181&#xff08;扩展分支&#xff09;SRS 5.0&#xff08;官…

算法第18天|继续二叉树:修剪二叉搜索树、将有序数组转化为二叉搜索树、把二叉搜索树转换为累加树

今日总结&#xff1a; 1、修剪二叉搜索树&#xff08;重点思考如何修剪&#xff09; &#xff08;1&#xff09;递归的返回值是什么&#xff1f;&#xff08;与插入、删除一样&#xff09; &#xff08;2&#xff09;递归的单层逻辑一定要缕清&#xff08;3中情况讨论&#xff…

C# 多线程(三)线程池

目录 1.通过TPL使用线程池 2.不使用TPL进入线程池的办法 异步委托 3.线程池优化技术 最小线程数的工作原理 每当启动一个新线程时&#xff0c;系统都需要花费数百微秒来分配资源&#xff0c;例如创建独立的局部变量栈空间。默认情况下&#xff0c;每个线程还会占用约1…

学习笔记(29):训练集与测试集划分详解:train_test_split 函数深度解析

学习笔记(29):训练集与测试集划分详解&#xff1a;train_test_split 函数深度解析 一、为什么需要划分训练集和测试集&#xff1f; 在机器学习中&#xff0c;模型需要经历两个核心阶段&#xff1a; 训练阶段&#xff1a;用训练集数据学习特征与目标值的映射关系&#xff08;…

【全网唯一】自动化编辑器 Windows版纯本地离线文字识别插件

目的 自动化编辑器超轻量级RPA工具&#xff0c;零代码制作RPA自动化任务&#xff0c;解放双手&#xff0c;释放双眼&#xff0c;轻松玩游戏&#xff0c;刷任务。本篇文章主要讲解下自动化编辑器的TomatoOCR纯本地离线文字识别Windows版插件如何使用和集成。 准备工作 1、下载自…

GitHub 2FA绑定

GitHub 2FA绑定 作为全球最大的代码托管平台&#xff0c;GitHub对账号安全的重视程度不断提升——自2023年3月起&#xff0c;GitHub已要求所有在GitHub.com上贡献代码的用户必须启用双因素身份验证&#xff08;2FA&#xff09;。如果你是符合条件的用户&#xff0c;会收到一封…

pytest fixture基础大全详解

一、介绍 作用 fixture主要有两个作用&#xff1a; 复用测试数据和环境&#xff0c;可以减少重复的代码&#xff1b;可以在测试用例运行前和运行后设置和清理资源&#xff0c;避免对测试结果产生影响&#xff0c;同时也可以提高测试用例的运行效率。 优势 pytest框架的fix…

Unity知识点-Renderer常用材质变量

本篇总结了Unity中renderer的3种常用的材质相关的变量&#xff1a;renderer.material,renderer.sharedMaterial,renderer.MaterialPropertyBlock。以及三者对SRPBatcher的影响。 一.介绍及对比 1.概念介绍 1.material 定义&#xff1a;material 是Render组件&#xff08;如…

【算法】​​如何判断时间复杂度?

文章目录 1. 什么是时间复杂度&#xff1f;为什么需要时间复杂度&#xff1f; 2. 常见时间复杂度对比3. 如何分析时间复杂度&#xff1f;&#xff08;Java版&#xff09;&#x1f539; 步骤1&#xff1a;找出基本操作&#x1f539; 步骤2&#xff1a;分析循环结构&#xff08;1…