From ffd044cf75ae896187b938e91dbd8fb83abd3615 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 28 三月 2023 20:58:11 +0800 Subject: [PATCH] 2023-03-28 --- src/views/appmanage/index.jsx | 33 +++++++++++++++++++++------------ 1 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/views/appmanage/index.jsx b/src/views/appmanage/index.jsx index a54a3b7..ff500da 100644 --- a/src/views/appmanage/index.jsx +++ b/src/views/appmanage/index.jsx @@ -508,15 +508,24 @@ let _href = window.location.href.split('#')[0] + 'app_record' let record = localStorage.getItem(_href) record = record ? JSON.parse(record) : null - - if (record) { - if (record.activeId) { - let index = applist.findIndex(item => item.ID === record.activeId) - if (index === -1) { - localStorage.setItem(_href, JSON.stringify({preId: '', activeId: ''})) - } else if (index !== 0) { - applist.unshift(...applist.splice(index, 1)) + + if (record && record.dates) { + let ids = applist.map(item => item.ID) + let reset = false + + Object.keys(record.dates).forEach(key => { + if (!ids.includes(key)) { + delete record.dates[key] + reset = true } + }) + + applist.sort((a, b) => { + return (record.dates[b.ID] || 0) - (record.dates[a.ID] || 0) + }) + + if (reset) { + localStorage.setItem(_href, JSON.stringify(record)) } } } @@ -698,11 +707,11 @@ let record = localStorage.getItem(_href) record = record ? JSON.parse(record) : null - if (!record) { - localStorage.setItem(_href, JSON.stringify({preId: selectApp.ID, activeId: ''})) + if (!record || !record.dates) { + localStorage.setItem(_href, JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID, dates: {[selectApp.ID]: new Date().getTime()}})) } else { - if (record.preId === selectApp.ID) { - localStorage.setItem(_href, JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID})) + if (record.preId === selectApp.ID || record.activeId === selectApp.ID) { + localStorage.setItem(_href, JSON.stringify({preId: selectApp.ID, activeId: selectApp.ID, dates: {...record.dates, [selectApp.ID]: new Date().getTime()}})) } else { localStorage.setItem(_href, JSON.stringify({...record, preId: selectApp.ID})) } -- Gitblit v1.8.0