!1944 优化:日志获取所有操作者文件

pull/1954/MERGE
林三 2 years ago committed by ChenX
parent 0a42e192e2
commit 5519d9f843

@ -40,11 +40,11 @@ export class OperLogs implements Command
}
let userName = localStorage.getItem(StoreageKeys.UserName);
let res: Response;
let curUserFileHistoryRes: Response;//当前用户操作历史(备份服务器)
try
{
res = await fetch(`${FileHistoryUrl}?user=${userName}&fileId=${fid}`);
if (res.status !== 200) return;
curUserFileHistoryRes = await fetch(`${FileHistoryUrl}?user=${userName}&fileId=${fid}`);
if (curUserFileHistoryRes.status !== 200) return;
} catch (error)
{
AppToaster.show({
@ -55,23 +55,38 @@ export class OperLogs implements Command
return;
}
let files = await res.json() as string[];
files.sort((f1, f2) =>
let allFiles = await curUserFileHistoryRes.json() as string[];
let operLogsRes = await PostJson(SignUrl.operLogs, { obj_type: 1, obj_value: fid });//服务端操作历史
if (operLogsRes.err_code !== RequestStatus.Ok) return;
let userNames: Set<string> = new Set;
for (let date of operLogsRes.data)
{
let user = date.oper_user as string;
if (user === userName || userNames.has(user)) continue;
userNames.add(date.oper_user);
let res = await fetch(`${FileHistoryUrl}?user=${date.oper_user}&fileId=${fid}`);
if (res.status !== 200) continue;
let files = await res.json() as string[];
allFiles.concat(files);
}
allFiles.sort((f1, f2) =>
{
return this.ParseTime(f2) - this.ParseTime(f1);
});
files.length = Math.min(files.length, 35);
let Res = await PostJson(SignUrl.operLogs, { obj_type: 1, obj_value: fid });
if (Res.err_code !== RequestStatus.Ok) return;
allFiles.length = Math.min(allFiles.length, 35);
const data = Res.data.reverse();
const data = operLogsRes.data.reverse();
if (!this._IsOpenFile)
{
app.Editor.ModalManage.RenderModal(OperLogsModal, {
fileId: fid,
userName: userName,
files: files,
files: allFiles,
data: data,
OnClickOpenFile: this.OnClickOpenFile,
isNotToaster: true,
@ -80,7 +95,7 @@ export class OperLogs implements Command
if (Rm.Status !== ModalState.Ok) return;
}
let time = files.length === 0 ? 5000 : 10000; //窗口持续时间
let time = allFiles.length === 0 ? 5000 : 10000; //窗口持续时间
if (HistoryToaster)
HistoryToaster.clear();
@ -89,7 +104,7 @@ export class OperLogs implements Command
<OpenHistoryBody
fileId={fid}
userName={userName}
files={files}
files={allFiles}
data={data}
time={time}
isOpenFile={this._IsOpenFile}

Loading…
Cancel
Save