更新记录

1.0.5(2022-07-04)

1.解决与文件选择插件一起用时,冲突崩溃问题
2.增加调用结束时,返回参数判断
3.修复若干bug

1.0.4(2022-03-15)

1.过滤无效文件
2.优化读取速度
3.增加返回文件的大小,最后修改时间等参数

1.0.3(2021-06-15)

1.优化读取速度,2万1千个图片视频秒出,更加丝滑顺畅
2.优化用户体验

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


K-ChooseAlbumModule 简介

相册选择android原生插件,支持多选单选,限制可选文件总大小,简单样式选择等。支持如下:

  1. 支持多选单选
  2. 支持设置只选择图片或视频或者两者都有
  3. 支持筛选出大于或小于某大小的文件们
  4. 支持设置限制可选文件总大小,超出这个大小会有友好提示
  5. 支持预览图片或视频
  6. 加载相册中的所有视频或图片时,保证流畅丝滑

使用说明

为什么要用本插件?原因,调用uni或者h5+的选择相册api时,视频或图片过多时,会有很多视频缩略图或图片加载不出来的现象,且有卡顿现象。
本插件,读取图片和视频时,自动获取手机所有相册,保证丝滑顺畅,具体使用可参考[示例代码]及[传参说明]。

1. 调用chooseAlbumAction方法介绍,以下代码只是常用举例,具体可根据自己的需求,参考传参介绍,参数自由组合来满足自己的需求,示例代码如下:
/**
 * 选择视频和图片;多选;允许选择最大数量文件30个;右下角按钮为“发送”
 */
chooseFileDefault() {
    const plugin = uni.requireNativePlugin('K-ChooseAlbumModule');
    plugin.chooseAlbumAction({}, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
},
/**
 * 只选择视频;单选;右下角按钮为“确认”
 * 如果只想选择图片,type传1,这里type的值:0或不传-图片和视频,1-只图片,2-只视频
 */
chooseAlbumVideoSingle() {
    const plugin = uni.requireNativePlugin('K-ChooseAlbumModule');
    plugin.chooseAlbumAction({type: 2, maxNum: 1, btnText: '确认'}, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
},
/**
 * maxSize参数举例,限制所选文件的总大小不能超过20M,否则不能再继续向下选择,并有友好提示
 */
chooseAlbumMaxSize() {
    const plugin = uni.requireNativePlugin('K-ChooseAlbumModule');
    plugin.chooseAlbumAction({maxSize: 20 * 1024 * 1024}, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
},
/**
 * filterIsGreater、filterFileSize参数举例,筛选出大小大于等于10M的图片或视频(即留下大小大于等于10M的图片或视频)
 */
chooseAlbumFilterGreater() {
    const plugin = uni.requireNativePlugin('K-ChooseAlbumModule');
    plugin.chooseAlbumAction({filterIsGreater: true, filterFileSize: 10 * 1024 * 1024}, result => {
        console.log(JSON.stringify(result));
        this.content = JSON.stringify(result);
    });
}
chooseAlbumAction方法,传参介绍如下:
参数 类型 默认值 说明
type Integer 0 type值说明,0或不传此参数-加载所有图片和视频,1-只加载所有图片,2-只加载所有视频
maxNum Integer 30 允许选择的最大图片或视频数,默认30;
若想单选效果,请设置为1
maxSize Integer 默认不传此参数,无限制 允许选择文件的最大大小;
设置此参数后,若选择的文件总大小超过设置的值后,不再允许选择,且有友好提示;
不传此参数,默认无此限制;
单位比特(B),如20MB,可设置20 * 1024 * 1024
filterIsGreater Boolean 不传此参数,默认true 指定过滤方式;
true(默认)为留下大于等于指定大小文件,false留下小于等于指定大小文件,与filterFileSize配合使用;
举例想要留下小于等于20MB的所有文件,filterIsGreater设置为fasle,filterFileSize设置为20 * 1024 * 1024;
当filterIsGreater与filterFileSize都不传时,则表示对文件大小没有限制(即留下大于等于0的所有文件)
filterFileSize Integer 不传此参数,默认0 指定过滤文件大小;
单位比特(B),与filterIsGreater参数配合使用;使用请参考filterIsGreater说明
btnText String "发送" 右下方"发送"按钮文字
chooseFileAction方法,返回参数说明:
{
"code":"0",
"msg":"success",
"data":[
    "绝对路径一",
    "绝对路径二"
    ]
}

2.问题汇总:

(1). 若返回的路径无法使用(如,在image组件中无法展示,uni.uploadFile无法识别到本路径),请在返回后的相关路径前加"file://"再尝试使用

3.Demo下载

您可下载Demo安装到手机上,参看一下效果,本Demo包括了作者开发的大部分插件,您可以进入相应插件模块查看效果,Demo中实现的效果只是常用举例且功能有限,而且并不及时更新,所以用户还是应以详细文档中的说明为准,参数自由组合实现想要的功能。Demo下载链接如下:
https://pan.baidu.com/s/1YMLAx21N2p5sirJqwkLJoA 提取码: awh9

4.联系方式:

若有插件问题或需求,可以评论留言描述,或加本人QQ
我的QQ是:3516626205 (加好友麻烦备注:uni相册选择插件)
支持付费定制
(2)关于售后:
a.承诺bug类问题,终身免费维护
b.新功能新需求类,若两个小时能完成的小工作量功能,免费完善

本sdk的使用许可,详见HBuilder X使用许可协议

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问