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

Loading…
Cancel
Save