更新记录
1.0.5(2021-10-20)
V1.0.5 1、支持自定义文件后缀查询。
1.0.4(2021-09-28)
V1.0.4 1、增加指定刷新目录功能,以解决文件过多导致的刷新时间过长的问题。
1.0.3(2021-09-27)
V.1.0.3 1、新增文件索引刷新函数。解决在某些情况下,手机新增文件后,无法搜索到新增文件的问题。
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 9.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原生插件配置”->”云端插件“列表中删除该插件重新选择
QuickFile 快速文件查询
1.如何使用
var files = uni.requireNativePlugin("tj-quickfile-QuickFile");
//查询所有文件
files.quickAllFile((ret) => {
//返回数据
})
//查询文档类型文件
files.quickTextFile((ret) => {
//返回数据
})
//查询视频文件
files.quickVideoFile((ret) => {
//返回数据
})
//查询音频文件
files.quickAudioFile((ret) => {
//返回数据
})
//查询图片文件
files.quickImageFile((ret) => {
//返回数据
})
//按指定条件查询
files.quickByTerm({
type:"查询文件类型",
size:"指定查询数量",
path:"指定查询文件夹的全路径",
arg:"指定文件后缀"
},(ret) => {
//返回数据
})
//刷新文件索引。
files.doScannerCast()
//刷新文件索引。
files.doScannerCast({
path:"指定刷新的文件夹的全路径"
})
2.参数说明
注:按条件查询时不能使用数组,若需要查询多个类型请多次调用 注:暂不支持自定义排序
2.1 按指定条件查询
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
type | int | 可选值(-1/0/2/3/4/5)详情见注1 | 否 |
size | int | 指定查询数量 | 否 |
path | string | 指定查询文件夹的全路径 | 否 |
arg | string | 指定查询的文件后缀(例:".txt") | 否 |
返回参数 | 类型 | 说明 |
---|---|---|
mimeType | string | 文件类型(注2) |
path | string | 文件的绝对路径 |
title | string | 文件名 |
imageId | int | 图片ID,此ID为Android系统标识图片用。 |
size | string | 文件大小 |
addTime | long | 文件添加时间(时间戳) |
注1:-1:查询所有;0:查询文档类型文件;2:查询视频文件;3:查询音频文件;4:查询图片文件;5:按文件后缀查询
注2:文件类型仅供参考。请以文件后缀为准。
2.2 刷新文件索引
参数 | 类型 | 说明 | 必填 |
---|---|---|---|
path | string | 指定刷新文件夹的全路径 | 否 |
3.示例
<template>
<div>
<input type="text" placeholder="需要刷新的文件路径" @input="scanInput"/>
<button type="primary" @click="doScannerCast">刷新文件索引</button>
<button type="primary" @click="quickAllFile">查找所有文件</button>
<button type="primary" @click="quickTextFile">查询文档类型文件</button>
<button type="primary" @click="quickVideoFile">查询视频文件</button>
<button type="primary" @click="quickAudioFile">查询音频文件</button>
<button type="primary" @click="quickImageFile">查询图片文件</button>
<input type="number" placeholder="请输入文件类型" @input="typeInput"/>
<input type="number" placeholder="请输入查询数量" @input="sizeInput"/>
<input type="text" placeholder="请输入全路径文件夹地址" @input="pathInput"/>
<input type="text" placeholder="请输入文件后缀" @input="argInput"/>
<button type="primary" @click="quickByTerm">根据条件查询</button>
<view v-for="(item, index) in items">
<text>{{item.path}}</text>
</view>
</div>
</template>
<script>
// 获取 module
var files = uni.requireNativePlugin("tj-quickfile-QuickFile");
var uat;
export default {
data() {
return {
items: [],
type:"",
size:"",
path:"",
scanPath:"",
arg:""
}
},
onLoad() {
plus.globalEvent.addEventListener('TestEvent', function(e){
modal.toast({
message: "TestEvent收到:"+e.msg,
duration: 1.5
});
});
},
methods: {
typeInput(e){
this.type = e.detail.value;
},
sizeInput(e){
this.size = e.detail.value;
},
pathInput(e){
this.path = e.detail.value;
},
scanInput(e){
this.scanPath = e.detail.value;
},
argInput(e){
this.arg = e.detail.value;
},
quickAllFile(){
uat = this;
files.quickAllFile((ret) => {
uat.items = ret;
})
},
quickTextFile(){
uat = this;
files.quickTextFile((ret) => {
uat.items = ret;
})
},
quickVideoFile(){
uat = this;
files.quickVideoFile((ret) => {
uat.items = ret;
})
},
quickAudioFile(){
uat = this;
files.quickAudioFile((ret) => {
uat.items = ret;
})
},
quickImageFile(){
uat = this;
files.quickImageFile((ret) => {
uat.items = ret;
})
},
quickByTerm(){
uat = this;
files.quickByTerm({
type:uat.type,
size:uat.size,
path:uat.path,
arg:uat.arg
},(ret) => {
uat.items = ret;
})
},
doScannerCast(){
uat = this;
files.doScannerCast({
path:uat.scanPath
});
}
}
}
</script>
注:本插件并未完成完全适配所有Android手机。若发现适配问题请留言