!1317 优化:避免保存文件时,重复解压文件,并且更新依赖包

pull/1317/MERGE
ChenX 4 years ago
parent 41750b49a4
commit 0eef05ed9b

@ -90,7 +90,7 @@
"worker-loader": "^3.0.7"
},
"dependencies": {
"@blueprintjs/core": "^3.31.0",
"@blueprintjs/core": "^3.36.0",
"@types/react-virtualized-auto-sizer": "^1.0.0",
"@types/react-window": "^1.8.2",
"detect-browser": "^5.1.1",

@ -112,13 +112,14 @@ export class Save implements Command
let file = JSON.stringify(fileData);
let rawFile = file;
file = deflate(file);
let logo = await uploadLogo(GetCurrentViewPreViewImage());
if (!logo) return;
if (fileServer.m_CurFileId)
{
let data = await fileServer.UpdateFile({ file_id: fileServer.m_CurFileId, file, logo });
let data = await fileServer.UpdateFile({ file_id: fileServer.m_CurFileId, file, logo }, rawFile);
if (data.err_code !== RequestStatus.Ok || !data.files)
{
@ -128,7 +129,7 @@ export class Save implements Command
}
else
{
let data = await fileServer.UploadFile({ file, logo });
let data = await fileServer.UploadFile({ file, logo }, rawFile);
if (data.err_code === RequestStatus.Ok)
{
fileServer.m_CurFileId = data.files.file_id;
@ -191,7 +192,7 @@ export class SaveAs implements Command
{
let fileData = app.FileOut().Data;
let file = JSON.stringify(fileData);
let rawFile = file;
file = deflate(file);
let logo = await uploadLogo(GetCurrentViewPreViewImage());
if (!logo) return;
@ -201,7 +202,7 @@ export class SaveAs implements Command
logo,
dir_id: res.Data.currentDirId,
name: res.Data.name
});
}, rawFile);
if (data.err_code === RequestStatus.Ok)
{
fileServer.m_CurFileId = data.files.file_id;

@ -205,7 +205,7 @@ export class FileServer extends Singleton
await dbStore.Put(StoreName.Dwg, GetIndexDBID(fid), Object.assign(fileInfo, info));
}
async UploadFile(fileInfo: IFileInfo)
async UploadFile(fileInfo: IFileInfo, rawFile?: string)
{
let info: IFileInfo = {
name: this.currentFileInfo.name || "新文件",
@ -220,7 +220,7 @@ export class FileServer extends Singleton
if (data.err_code === RequestStatus.Ok)
{
let finfo: IFileInfo = {
file: inflate(info.file),
file: rawFile ?? inflate(info.file),
name: info.name,
code: data.files.code
};
@ -229,7 +229,7 @@ export class FileServer extends Singleton
return data;
}
async UpdateFile(fileInfo: IFileInfo)
async UpdateFile(fileInfo: IFileInfo, rawFile?: string)
{
this.SaveCurrentFileInfo(fileInfo);
let data = await PostJson(FileUrls.update, fileInfo);
@ -240,7 +240,7 @@ export class FileServer extends Singleton
code: data.files.code
};
if (fileInfo.file)
finfo.file = inflate(fileInfo.file);
finfo.file = rawFile ?? inflate(fileInfo.file);
await this.CacheFileInfo(data.files.file_id, finfo);
}

Loading…
Cancel
Save