更新记录
1.1(2023-11-30)
优化网页加载问题
1.0(2023-11-17)
新版:在Ba-FilePicker基础上,支持微信、QQ文件,支持指定目录。
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 14.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原生插件配置”->”云端插件“列表中删除该插件重新选择
文件选择插件-新(支持微信、QQ文件) Ba-FilePicker2
简介
在Ba-FilePicker基础上,支持微信、QQ文件。支持浏览目录、文件分类、类型分组3种方式(效果如图);支持单选、多选、数量限制;支持搜索、排序、预览等等。
- 支持层级浏览文件目录选择
- 支持文件类型筛选(多个,可自定义配置)
- 支持自定义类型分组(多个,可自定义配置)
- 支持搜索查询
- 支持预览已选清单
- 支持单选、多选、限制最大选择数
- 支持排序,可根据文件名称、时间、大小等等
- 支持显示文件预览图、名称、大小、时间等
- 支持的文件类型有:图片(png,jpg,jpeg,gif..)、音视频(mp3,avi,mp4,flv,movie,wav..)、文档(txt,doc,xls,pdf,ppt..)、应用(apk,exe..)、压缩包等等,几乎所有的文件类型
- 支持自定义文本内容,并可以以此配置国际化
- 支持设置默认排序方式
- 支持指定自定义目录(分组、分类模式)
- 支持选择微信、QQ文件(android13以前;鸿蒙也支持)
系列插件
有建议和需要,请联系QQ:2579546054
也可关注博客,实时更新最新插件:
使用方法
在 script
中引入组件
const filePicker = uni.requireNativePlugin('Ba-FilePicker2')
在 script
中调用
<script>
const filePicker = uni.requireNativePlugin('Ba-FilePicker2')
export default {
data() {
return {
selectedList: [],
urlQq: 'https://weixin.qq.com',
urlWx: 'https://weixin.qq.com'
}
},
methods: {
selectFile(selectType) {
filePicker.selectFile({
'selectType': selectType,//选择类型:默认为0( 0:浏览文件目录 1:文件分类 2:类型分组)
'maxCount': 9,//最大选择数,默认为9
'filetypes': 'png,jpg,mp4,apk',
//..... 其他参数详见下文 “自定义配置参数”
},
(res) => {
console.log(res)
if (res.data) {
this.selectedList = res.data;
}
});
},
selectFile2() {
filePicker.selectFile({//自定义类型分组
selectType: 2,
maxCount: 9,
groupTypes: [{
name: "图片",
fileTypes: ["png", "jpg", "gif"]
}, {
name: "视频",
fileTypes: ["mp4", "avi", "mpeg"]
}, {
name: "音频",
fileTypes: ["mp3", "ogg", "flac"]
}, {
name: "文档",
fileTypes: ["txt", "doc", "docx", "xls", "xlsx", "pdf", "ppt"]
},
/* {
name: "压缩包",
fileTypes: ["zip", "rar"]
}, {
name: "应用",
fileTypes: ["apk"]
} */
]
},
(res) => {
console.log(res)
if (res.data) {
this.selectedList = res.data;
}
});
},
selectFileWxQq() {//显示微信、QQ文件(分组模式)
filePicker.selectFile({
selectType: 2,
maxCount: 9,
isWxQq: true,
//isWxQqGuide: true,
//isWxQqWeb13: true,
//urlQq: this.urlQq,
//urlWx: this.urlWx,
groupTypes: [{
name: "WORD",
fileTypes: ["doc", "docx"]
}, {
name: "EXCEL",
fileTypes: ["xls", "xlsx"]
}, {
name: "PPT",
fileTypes: ["ppt"]
}, {
name: "其他",
fileTypes: ["txt", "pdf", "png", "jpg", "gif"]
}]
},
(res) => {
console.log(res)
if (res.data) {
this.selectedList = res.data;
}
});
},
}
}
</script>
文件图标替换
图标可使用默认,如果不喜欢也可以替换,如下
- 在项目的 “nativeplugins\Ba-FilePicker\android\res\mipmap” 目录下(没有就新建),按下图文件名,添加需要替换的图标就会覆盖。 点击这里,查看图标替换详细
注意:更改后需要重新制作基座才能生效,建议提前配置。
Ba-FilePicker 自定义配置参数
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
selectType | Number | 0 | 选择类型:默认为0( 0:浏览文件目录 1:文件分类 2:类型分组) |
maxCount | Number | 9 | 最大选择数,默认为9 |
filetypes | String | png,jpg,gif,mp3,mp4,txt,doc,apk,zip | 文件类型,多个英文","隔开(selectType为0、1时有效) |
groupTypes | Array | (见下文,“groupTypes”) | 自定义文件类型分组参数,有默认值,可不传,(selectType为2时有效) |
strings | Object | (见下文,“strings”) | 自定义文本内容,也可以此实现国际化显示 |
sortType | Number | 0 | 排序类型:默认为0( 0:名称-升序 1:名称-降序 2:时间-升序 3:时间-降序 4:大小-升序 5:大小-降序 6:类型-升序 7:类型-降序) |
isWxQq | Boolean | false | 是否显示微信、QQ文件 |
isWxQqGuide | Boolean | false | 是否显示微信、QQ文件的授权引导页 |
isWxQqWeb13 | Boolean | false | 是否显示微信、QQ文件教程页面 |
urlWx | String | '' | 微信教程网址 |
urlQq | String | '' | QQ教程网址 |
targetDir | String | '' | 指定目录,本地目录 |
注意:因为android版本>=13时,系统做了限制,不能再读取微信、QQ文件,在这里可以根据"isWxQqWeb13"参数判断,显示对应的引导教程(网页),网址参数为urlWx(微信)、urlQq(QQ)
groupTypes 数组详细
属性名 | 类型 | 默认值 | 说明 |
---|---|---|---|
name | String | 分组名称 | |
fileTypes | Array | 分组中包含的类型 |
默认值:
groupTypes: [{
name: "图片",
fileTypes: ["png", "jpg", "gif"]
}, {
name: "视频",
fileTypes: ["mp4", "avi", "mpeg"]
}, {
name: "音频",
fileTypes: ["mp3", "ogg", "flac"]
}, {
name: "文档",
fileTypes: ["txt", "doc", "docx", "xls", "xlsx", "pdf", "ppt"]
}, {
name: "压缩包",
fileTypes: ["zip", "rar"]
}, {
name: "应用",
fileTypes: ["apk"]
}]
strings 属性详细
参考如下默认值即可,不需要变化的可以不填
默认值:
strings: {
barTitle: "文件选择",
barBtnOk: "确认",
selectedDialogTitle: "已选文件",
selectedFileCount: "已选(%1$s/%2$s)",
searchInputHint: "请输入搜索内容",
sortDialogTitle: "请选择",
sortDialogItemMC: "按名称",
sortDialogItemSJ: "按时间",
sortDialogItemDX: "按大小",
sortDialogItemLX: "按类型",
sortDialogBtnAsc: "升序",
sortDialogBtnDesc: "降序",
breadTextRam: "内部存储设备",
breadTextSd: "SD卡",
folderDesc: "文件:%1$s | 文件夹:%2$s",
},
回调参数
属性名 | 类型 | 说明 |
---|---|---|
data | Array | 已选择列表 |
data 数组中 item 的属性
属性名 | 类型 | 说明 |
---|---|---|
name | String | 文件名 |
absolutePath | String | 文件路径 |
mimeType | String | 文件类型 |
size | Number | 文件大小(单位B) |
sizeS | String | 文件大小(智能显示) |