更新记录
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:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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原生插件,支持多选单选,限制可选文件总大小,简单样式选择等。支持如下:
- 支持多选单选
- 支持设置只选择图片或视频或者两者都有
- 支持筛选出大于或小于某大小的文件们
- 支持设置限制可选文件总大小,超出这个大小会有友好提示
- 支持预览图片或视频
- 加载相册中的所有视频或图片时,保证流畅丝滑
使用说明
为什么要用本插件?原因,调用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使用许可协议