| | |
| | | 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)) |
| | | } |
| | | } |
| | | } |
| | |
| | | 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})) |
| | | } |