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

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

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

@ -112,13 +112,14 @@ export class Save implements Command
let file = JSON.stringify(fileData); let file = JSON.stringify(fileData);
let rawFile = file;
file = deflate(file); file = deflate(file);
let logo = await uploadLogo(GetCurrentViewPreViewImage()); let logo = await uploadLogo(GetCurrentViewPreViewImage());
if (!logo) return; if (!logo) return;
if (fileServer.m_CurFileId) 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) if (data.err_code !== RequestStatus.Ok || !data.files)
{ {
@ -128,7 +129,7 @@ export class Save implements Command
} }
else else
{ {
let data = await fileServer.UploadFile({ file, logo }); let data = await fileServer.UploadFile({ file, logo }, rawFile);
if (data.err_code === RequestStatus.Ok) if (data.err_code === RequestStatus.Ok)
{ {
fileServer.m_CurFileId = data.files.file_id; fileServer.m_CurFileId = data.files.file_id;
@ -191,7 +192,7 @@ export class SaveAs implements Command
{ {
let fileData = app.FileOut().Data; let fileData = app.FileOut().Data;
let file = JSON.stringify(fileData); let file = JSON.stringify(fileData);
let rawFile = file;
file = deflate(file); file = deflate(file);
let logo = await uploadLogo(GetCurrentViewPreViewImage()); let logo = await uploadLogo(GetCurrentViewPreViewImage());
if (!logo) return; if (!logo) return;
@ -201,7 +202,7 @@ export class SaveAs implements Command
logo, logo,
dir_id: res.Data.currentDirId, dir_id: res.Data.currentDirId,
name: res.Data.name name: res.Data.name
}); }, rawFile);
if (data.err_code === RequestStatus.Ok) if (data.err_code === RequestStatus.Ok)
{ {
fileServer.m_CurFileId = data.files.file_id; 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)); await dbStore.Put(StoreName.Dwg, GetIndexDBID(fid), Object.assign(fileInfo, info));
} }
async UploadFile(fileInfo: IFileInfo) async UploadFile(fileInfo: IFileInfo, rawFile?: string)
{ {
let info: IFileInfo = { let info: IFileInfo = {
name: this.currentFileInfo.name || "新文件", name: this.currentFileInfo.name || "新文件",
@ -220,7 +220,7 @@ export class FileServer extends Singleton
if (data.err_code === RequestStatus.Ok) if (data.err_code === RequestStatus.Ok)
{ {
let finfo: IFileInfo = { let finfo: IFileInfo = {
file: inflate(info.file), file: rawFile ?? inflate(info.file),
name: info.name, name: info.name,
code: data.files.code code: data.files.code
}; };
@ -229,7 +229,7 @@ export class FileServer extends Singleton
return data; return data;
} }
async UpdateFile(fileInfo: IFileInfo) async UpdateFile(fileInfo: IFileInfo, rawFile?: string)
{ {
this.SaveCurrentFileInfo(fileInfo); this.SaveCurrentFileInfo(fileInfo);
let data = await PostJson(FileUrls.update, fileInfo); let data = await PostJson(FileUrls.update, fileInfo);
@ -240,7 +240,7 @@ export class FileServer extends Singleton
code: data.files.code code: data.files.code
}; };
if (fileInfo.file) if (fileInfo.file)
finfo.file = inflate(fileInfo.file); finfo.file = rawFile ?? inflate(fileInfo.file);
await this.CacheFileInfo(data.files.file_id, finfo); await this.CacheFileInfo(data.files.file_id, finfo);
} }

Loading…
Cancel
Save