更新记录
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 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
首先需要通过 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
基础功能
-
基础功能,保存文件,会根据文件后缀自动分类
saveFileWithPath() { fileManager.saveFileWithPath("/Users/xianhongzhang/Desktop/111.txt", (ret) => { uni.showToast({ title:'调用异步方法 ' + ret, icon: "none" }) }) }
-
基础功能,删除文件
deletefile(){ fileManager.deleteFileWith({ 'id':'123', 'path':'123' }, (ret) => { uni.showToast({ title:'调用异步方法 ' + ret, icon: "none" }) }) }
-
基础功能,查询所有文件
queryfile(){ fileManager.queryFile('none', (ret) => { uni.showToast({ title:'调用异步方法 ' + ret, icon: "none" }) }) }
区分类型
-
删除某一类文件
deleteWithFiletype(){ fileManager.deleteWithFiletype({ 'type':'123' }, (ret) => { uni.showToast({ title:'调用异步方法 ' + ret, icon: "none" }) }) }
-
查询某一类文件
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
});