提交 0d51f878 authored 作者: zs's avatar zs

edit

上级 ed7ea6ba
......@@ -249,9 +249,8 @@
zipCompress(`${SYNCHRONIZE_DATA_PAD}/发送数据`,
`${SYNCHRONIZE_DATA_PAD}/fssj/${userName}_JFXJ_${timeStr}.zip`
);
debugger
// zip
// await inspectApi.updateSyncData(ids);
await inspectApi.updateSyncData(ids);
this.close();
this.loading = false;
......
......@@ -473,48 +473,15 @@ export function getUserList() {
export function zipCompress(sourceDir, zipPath) {
return new Promise((resolve, reject) => {
// 递归函数,用于收集目录中的所有文件路径
function collectFiles(dirEntry, filePaths = []) {
return new Promise((resolveCollect, rejectCollect) => {
var directoryReader = dirEntry.createReader();
directoryReader.readEntries(function(entries) {
var promises = [];
entries.forEach(function(entry) {
if (entry.isFile) {
filePaths.push(entry.toLocalURL());
} else if (entry.isDirectory) {
promises.push(collectFiles(entry, filePaths));
}
});
Promise.all(promises).then(() => resolveCollect(filePaths)).catch(rejectCollect);
}, function(e) {
rejectCollect(e);
});
});
}
// 开始收集文件
plus.io.resolveLocalFileSystemURL(sourceDir, function(dirEntry) {
if (dirEntry.isDirectory) {
collectFiles(dirEntry).then(function(allFilePaths) {
debugger
// 使用收集到的文件路径进行压缩
plus.zip.compress(
allFilePaths,
plus.io.convertLocalFileSystemURL(zipPath),
function() {
resolve(zipPath);
},
function(error) {
reject(`压缩失败: ${error.message}`);
}
);
}).catch(reject);
} else {
reject('提供的路径不是一个目录');
}
}, function(e) {
reject(`解析文件系统URL失败: ${e.message}`);
});
plus.zip.compress(
plus.io.convertLocalFileSystemURL(sourceDir),
plus.io.convertLocalFileSystemURL(zipPath),
{
recursive: true,
overwrite: true,
},
() => resolve(zipPath),
(error) => reject(`压缩失败: ${error.message}`)
);
});
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论