mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 08:14:25 +08:00
add cache management page
This commit is contained in:
@@ -33,6 +33,10 @@ function getExchangeRatesFromLocalStorage(): LatestExchangeRates {
|
||||
return JSON.parse(storageData) as LatestExchangeRates;
|
||||
}
|
||||
|
||||
function getExchangeRatesRawDataFromLocalStorage(): string | null {
|
||||
return localStorage.getItem(exchangeRatesLocalStorageKey);
|
||||
}
|
||||
|
||||
function setExchangeRatesToLocalStorage(value: LatestExchangeRates): void {
|
||||
const storageData = JSON.stringify(value);
|
||||
localStorage.setItem(exchangeRatesLocalStorageKey, storageData);
|
||||
@@ -121,6 +125,16 @@ export const useExchangeRatesStore = defineStore('exchangeRates', () => {
|
||||
}
|
||||
}
|
||||
|
||||
function getExchangeRatesCacheSize(): number {
|
||||
const storageData = getExchangeRatesRawDataFromLocalStorage();
|
||||
|
||||
if (!storageData) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return new Blob([storageData]).size;
|
||||
}
|
||||
|
||||
function resetLatestExchangeRates(): void {
|
||||
latestExchangeRates.value = {};
|
||||
clearExchangeRatesFromLocalStorage();
|
||||
@@ -283,6 +297,7 @@ export const useExchangeRatesStore = defineStore('exchangeRates', () => {
|
||||
exchangeRatesLastUpdateTime,
|
||||
latestExchangeRateMap,
|
||||
// functions
|
||||
getExchangeRatesCacheSize,
|
||||
resetLatestExchangeRates,
|
||||
getLatestExchangeRates,
|
||||
updateUserCustomExchangeRate,
|
||||
|
||||
Reference in New Issue
Block a user