更新记录

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:未测试 ×

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


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手机。若发现适配问题请留言

隐私、权限声明

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

文件读写权限。

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

本插件仅作查询使用,只会获取文件的基本信息(文件标题,大小,地址,类型,android系统中独有的id)作为展示使用。不会读取文件内容,不会发送文件或做其他任何操作。

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

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