更新记录
1.0.7(2025-08-25)
修复已知BUG。
1.0.6(2025-08-25)
新增支持IOS选择图片和视频
1.0.5(2025-08-08)
新增支持返回绝对路径
查看更多平台兼容性
云端兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | √ |
uni-app(4.61)
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | - | - | √ | √ | 5.0 | 14 | √ |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.61)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | 5.0 | 14 | √ | - |
相册图片视频选择器功能介绍
0.支持IOS,安卓,鸿蒙。 1.支持uniapp和uniappx 2.支持打开系统相册选择相片视频 3.支持多选和单选可以设置最多选择数,如果单选最多选择数参数设置为1既可 4.支持设置多种语言(仅安卓生效) 5.支持自定义界面主题样式(仅安卓生效) 6.支持媒体文件类型选择 0: ALL(视频和图片) 1: IMAGE(图片) 2: VIDEO(视频) 3: AUDIO(音频) 8.支持设置开启和关闭原图功能
注意:集成完成后需要云打包或自定义基座才能生效。
相册图片视频选择器集成方法
鸿蒙无需申请权限 安卓首先AndroidManifest.xml里配置示例文件里所需的权限也可直接复制示列里的AndroidManifest.xml文件到项目根目录
-
参数说明
参数名称 类型 默认值 描述 MediaType number 1 设置选择类型 0: ALL(全部IOS暂不支持) 1: IMAGE(图片) 2: VIDEO(视频) 3: AUDIO(音频IOS暂不支持) Single number 2 设置单选或多选(仅安卓生效), 1为单选,2为多选 maxNum number 9 设置最大选中数,不传默认为9 isOriginal boolean false 是否开启原图功能(IOS暂不支持) isDisplayCamera boolean true 是否显示拍摄按钮(IOS暂不支持) Language number 0 语言设置(仅安卓生效):0:简体中文,1:繁体,2:英语,3:韩语,4:德语,5:法语,6:日语,7:越语,8:西班牙语,9:葡萄牙语,10:阿拉伯语,11:俄语,12:捷克,13:哈萨克斯坦 theme UTSJSONObject 黑色主题 主题界面样式设置(见示例),不传为默认样式(仅安卓生效) uni-appx项目中集成调用示例:
1.接口引入
import { RHFselcet } from '@/uni_modules/fz-media-selcet';
2.调用示例
let parameter: UTSJSONObject ={ MediaType:2,//设置选择类型 0: ALL(全部) 1: IMAGE(图片) 2: VIDEO(视频) 3: AUDIO(音频) 不传默认为1图片 Single:2,//设置单选或多选(仅安卓,鸿蒙无需传此参数), 1为单选,2为多选,不传默认为多选 maxNum:6,//设置最大选中数,不传默认为9 鸿蒙单选传1既可,安卓仅多选时生效 isOriginal:false, //是否开启原图功能,不传默认为false isDisplayCamera:true,//是否显示拍摄按钮,不传默认为true //语言设置(仅安卓生效), 0:简体中文,1:繁体,2:英语,3:韩语,4:德语,5:法语,6:日语,7:越语,8:西班牙语,9:葡萄牙语,10:阿拉伯语,11:俄语,12:捷克,13:哈萨克斯坦,不传默认为0 Language:2, //主题界面样式设置(仅安卓生效),不传为默认样式 theme:{ titleBarStyle:{ TitleBackgroundColor:'#8E07FD' }, bottomNavBarStyle:{ PreviewNormalTextColor:'#8E07FD', PreviewSelectTextColor:'#8E07FD', BarBackgroundColor:'#FFFFFF', EditorTextColor:'#8E07FD', OriginalTextColor:'#8E07FD', }, selectMainStyle:{ NumberStyle:true, //选中样式是否为数字,不传默认显示勾选样式 isbtn:true, //完成按钮是否显示背景颜色 //如需修改按钮颜色需要在res/values/colors.xml里修改btn_primary和btn_hover的颜色值和按下后的颜色值 SelectTextColor:'#ffffff',//选择结果文字颜色 // SelectText:'%1$d/%2$d 完成', SelectText:'使用(%1$d)',//选择结果要显示的文字,不传默认显示:已完成 StatusBarColor:'#8E07FD', OriginalTextColor:'#8E07FD', } } } //打开相册或视频 RHFselcet.getPicture( parameter, (data) => { // console.log(data["mediaArray"]) let arrData = data["mediaArray"] let jsonData = JSON.stringify(arrData) console.log(jsonData) //回调结果:[{"mimeType":"video/mp4","num":1,"Pathurl":"/storage/emulated/0/DCIM/Camera/lv_0_20241025172529.mp4","height":1920,"fiename":"lv_0_20241025172529.mp4","path":"content://media/external/video/media/427606","Pathid":427606,"duration":16393,"size":20002573,"FolderName":"Camera","dateAddedTime":1729848339,"width":1080},{"mimeType":"video/mp4","num":2,"Pathurl":"/storage/emulated/0/DCIM/Camera/video_20241025_170438.mp4","height":1920,"fiename":"video_20241025_170438.mp4","path":"content://media/external/video/media/427604","Pathid":427604,"duration":16331,"size":35778914,"FolderName":"Camera","dateAddedTime":1729847078,"width":1080}] let DatalArray = JSON.parseArray(jsonData) console.log(DatalArray) });
uni-app项目中集成调用示例:
1.接口引入
import { RHFselcet } from '@/uni_modules/fz-media-selcet';
2.调用方法
let parameter ={ MediaType:2,//设置选择类型 0: ALL(全部) 1: IMAGE(图片) 2: VIDEO(视频) 3: AUDIO(音频) 不传默认为1图片 Single:2,//设置单选或多选(仅安卓,鸿蒙无需传此参数), 1为单选,2为多选,不传默认为多选 maxNum:6,//设置最大选中数,不传默认为9 鸿蒙单选传1既可,安卓仅多选时生效 isOriginal:false, //是否开启原图功能,不传默认为false isDisplayCamera:true,//是否显示拍摄按钮,不传默认为true //语言设置(仅安卓生效), 0:简体中文,1:繁体,2:英语,3:韩语,4:德语,5:法语,6:日语,7:越语,8:西班牙语,9:葡萄牙语,10:阿拉伯语,11:俄语,12:捷克,13:哈萨克斯坦,不传默认为0 Language:2, //主题界面样式设置(仅安卓生效),不传为默认样式 theme:{ titleBarStyle:{ TitleBackgroundColor:'#8E07FD' }, bottomNavBarStyle:{ PreviewNormalTextColor:'#8E07FD', PreviewSelectTextColor:'#8E07FD', BarBackgroundColor:'#FFFFFF', EditorTextColor:'#8E07FD', OriginalTextColor:'#8E07FD', }, selectMainStyle:{ NumberStyle:true, //选中样式是否为数字,不传默认显示勾选样式 isbtn:true, //完成按钮是否显示背景颜色 //如需修改按钮颜色需要在res/values/colors.xml里修改btn_primary和btn_hover的颜色值和按下后的颜色值 SelectTextColor:'#ffffff',//选择结果文字颜色 // SelectText:'%1$d/%2$d 完成', SelectText:'使用(%1$d)',//选择结果要显示的文字,不传默认显示:已完成 StatusBarColor:'#8E07FD', OriginalTextColor:'#8E07FD', } } } RHFselcet.getPicture( parameter, (data) => { let arrData = data.mediaArray let jsonData = JSON.stringify(arrData) console.log(jsonData) //回调结果:[{"mimeType":"video/mp4","num":1,"Pathurl":"/storage/emulated/0/DCIM/Camera/lv_0_20241025172529.mp4","height":1920,"fiename":"lv_0_20241025172529.mp4","path":"content://media/external/video/media/427606","Pathid":427606,"duration":16393,"size":20002573,"FolderName":"Camera","dateAddedTime":1729848339,"width":1080},{"mimeType":"video/mp4","num":2,"Pathurl":"/storage/emulated/0/DCIM/Camera/video_20241025_170438.mp4","height":1920,"fiename":"video_20241025_170438.mp4","path":"content://media/external/video/media/427604","Pathid":427604,"duration":16331,"size":35778914,"FolderName":"Camera","dateAddedTime":1729847078,"width":1080}] });