更新记录

1.0.2(2021-04-22)

新增支持Android版本

1.0.1(2021-03-11)

1,优化文件存储API,去除沉于API 2,文件保存时,自动匹配文件类型 3,增加文件类型列表页面 4,增加文件列表页面,可删除已保存文件 iOS无法提供demo,请诸位下载测试包,自己打ipa包测试

1.0.0(2021-03-08)

基础功能

1. 基础功能,保存文件
2. 基础功能,删除文件
3. 基础功能,查询所有文件

区分类型

1. 存储文件,并设置类型
2. 删除某一类文件
3. 查询某一类文件

区分用户和类型

1. 存储文件,并设置用户和类型
2. 删除某一用户所有文件 ||  删除某一用户某一类型文件
3. 查询某一用户文件 || 某一用户下某一类型文件
查看更多

平台兼容性

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

原生插件通用使用流程:

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


首先需要通过 uni.requireNativePlugin("ModuleName") 获取 module

var fileManager = uni.requireNativePlugin("zxh-ZYFileManager")

基础功能

1. 基础功能,保存文件
2. 基础功能,删除文件
3. 基础功能,查询所有文件

区分类型

1. 删除某一类文件
2. 查询某一类文件

以下是IOS端API

类型名称对应类型id

TXT 100000 Word 100001 Excel 100002 PDF 100003 PPT 100004 音乐 100005 图片 100008 视频 100006 其它 100007

基础功能

  1. 基础功能,保存文件,会根据文件后缀自动分类

    saveFileWithPath() {
            fileManager.saveFileWithPath("/Users/xianhongzhang/Desktop/111.txt",
                (ret) => {
                    uni.showToast({
                        title:'调用异步方法 ' + ret,
                        icon: "none"
                    })
                })
        }
  2. 基础功能,删除文件

        deletefile(){
            fileManager.deleteFileWith({
                'id':'123',
                'path':'123'
            },
                (ret) => {
                    uni.showToast({
                        title:'调用异步方法 ' + ret,
                        icon: "none"
                    })
                })
        }
  3. 基础功能,查询所有文件

    queryfile(){
                    fileManager.queryFile('none',
                        (ret) => {
                            uni.showToast({
                                title:'调用异步方法 ' + ret,
                                icon: "none"
                            })
                        })
                }

    区分类型

  4. 删除某一类文件

    deleteWithFiletype(){
        fileManager.deleteWithFiletype({
        'type':'123'
        },
        (ret) => {
            uni.showToast({
            title:'调用异步方法 ' + ret,
            icon: "none"
            })
        })
    }
  5. 查询某一类文件

    queryFileWithFileType(){
                fileManager.queryFileWithFileType({
                'type':'123'
                },
                (ret) => {
                    uni.showToast({
                    title:'调用异步方法 ' + ret,
                    icon: "none"
                    })
                })
            }

显示文件类型页面

<zy-FileManagerComponent style="width:750rpx;height:680px"></zy-FileManagerComponent>

需要注意的是,宽度必须为屏幕宽度,高度必须为屏幕高度

注:所有查询所返回的数据格式为

注:文件的保存需要用提供的API方法

文件下载采用uni.downloadFile,更多功能,正在开发中

    {
    'data':[
            {'':'','':''},
            {'':'','':''}
        ]
    }

以下是Android端API

1.fileManager.saveFileWith(OBJECT,Function)

OBJECT 参数说明:

参数名 类型 必填 说明
tempFilePath String uni.downloadFile 下载的临时文件路径
user String 文件属于哪一个用户的
fileName String 自定义文件名 xx.xx[image.png]
fileType String 自定义的文件类型

Function 回调函数 参数说明 JSON对象:

参数名 类型 说明
resultCode String 返回状态码 0:保存成功
resultMsg String 保存结果描述
data Array< Object > 文件列表

data 中的项目说明:

类型 说明
id Number 文件ID
user String 文件所属用户
name String 文件名称
type String 保存文件时自定义的类型
suffix String 文件后缀[png]
path String 文件绝对路径
size Number 文件大小 单位kb
time Number 文件创建时间 时间戳
示例:
    uni.downloadFile({
        url: link,
        success: (res) => {
            if (res.statusCode == 200) {
                fileManager.saveFileWith({
                        'tempFilePath': res.tempFilePath,
                        'user': user,
                        'fileType': fileType,
                        'fileName': fileName
                    },
                    (ret) => {
                        this.dataList = ret.data
                    })
            } else {
                //todo
            }
        },
        complete: () => {
            //todo
        },
        fail: () => {
            //todo
        }
    });

2.fileManager.deleteFileWith(OBJECT,Function)

OBJECT 参数说明:

参数名 类型 必填 说明
id Number 文件ID
user String 文件所属用户
fileName String 文件名称
fileType String 保存文件时自定义的类型
suffix String 文件后缀[png]
path String 文件绝对路径

Function 回调函数 参数说明:

同 saveFileWithPath

示例:
    fileManager.deleteFileWith({
            'path': path,
            'user': user,
            'fileType': fileType
        },
        (ret) => {
            this.dataList = ret.data
        });

3.fileManager.queryFileWith(OBJECT,Function)

OBJECT 参数说明:

参数名 类型 必填 说明
user String 文件所属用户
fileName String 文件名称
fileType String 保存文件时自定义的类型
suffix String 文件后缀[png]
path String 文件绝对路径

Function 回调函数 参数说明:

同 saveFileWithPath

示例:
    fileManager.queryFileWith({
            'user': user,
            'fileType': fileType,
            'fileName': fileName
        },
        (ret) => {
            this.dataList = ret.data
        });

隐私、权限声明

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

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

插件不采集任何数据

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

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