2024-01-05 11:11:15 +08:00
|
|
|
|
import FileUtil from '../../../common/utils/File'
|
|
|
|
|
|
import zlib from '@ohos.zlib';
|
2024-07-31 13:47:40 +08:00
|
|
|
|
import promptAction from '@ohos.promptAction';
|
|
|
|
|
|
import router from '@ohos.router';
|
|
|
|
|
|
|
2024-01-05 11:11:15 +08:00
|
|
|
|
export default class FileModel{
|
|
|
|
|
|
|
|
|
|
|
|
//后续文件路径待替换
|
|
|
|
|
|
private fileUtil: FileUtil
|
|
|
|
|
|
public folderPath: string
|
|
|
|
|
|
|
|
|
|
|
|
constructor(context){
|
|
|
|
|
|
(async ()=>{
|
|
|
|
|
|
const fileUtil = new FileUtil(context)
|
|
|
|
|
|
this.fileUtil = fileUtil
|
|
|
|
|
|
})()
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 设置文件夹
|
|
|
|
|
|
public initFolder = async () => {
|
|
|
|
|
|
const {fileUtil} = this
|
|
|
|
|
|
await fileUtil.initFolder(`/models/model_enc`);
|
|
|
|
|
|
const folderPath = await fileUtil.initFolder(`/models`);
|
|
|
|
|
|
this.folderPath = folderPath;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 存储zip文件并解压
|
|
|
|
|
|
public storingFiles = async (str) => {
|
|
|
|
|
|
const {fileUtil,folderPath} = this;
|
2024-02-21 14:53:53 +08:00
|
|
|
|
await fileUtil.editFile(`${folderPath}/model.zip`,str,'overWrite')
|
2024-01-05 11:11:15 +08:00
|
|
|
|
|
|
|
|
|
|
let options = {
|
|
|
|
|
|
level: zlib.CompressLevel.COMPRESS_LEVEL_DEFAULT_COMPRESSION,
|
|
|
|
|
|
memLevel: zlib.MemLevel.MEM_LEVEL_DEFAULT,
|
|
|
|
|
|
strategy: zlib.CompressStrategy.COMPRESS_STRATEGY_DEFAULT_STRATEGY
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
zlib.unzipFile(
|
|
|
|
|
|
`${folderPath}/model.zip`,
|
|
|
|
|
|
`${folderPath}`,
|
|
|
|
|
|
options).then((data) => {
|
|
|
|
|
|
console.log("unzipFile result:" + data);
|
|
|
|
|
|
}).catch((err)=>{
|
|
|
|
|
|
console.log("catch((err)=>" + err);
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//获取文件内容
|
|
|
|
|
|
public getModelContent = (folderPath,fileName) => {
|
|
|
|
|
|
const {fileUtil} = this;
|
2024-07-31 13:47:40 +08:00
|
|
|
|
try {
|
|
|
|
|
|
const content = fileUtil.getFileContent(`${folderPath}/${fileName}`)
|
|
|
|
|
|
return content;
|
|
|
|
|
|
}catch (e){
|
2024-08-08 20:12:19 +08:00
|
|
|
|
console.info('surenjun',JSON.stringify(e))
|
2024-07-31 13:47:40 +08:00
|
|
|
|
promptAction.showToast({
|
2024-08-08 20:12:19 +08:00
|
|
|
|
message:`请检查模型路径${folderPath}/${fileName}是否正确!`,
|
2024-07-31 13:47:40 +08:00
|
|
|
|
duration:4000
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
2024-01-05 11:11:15 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|