add cache management page

This commit is contained in:
MaysWind
2026-02-27 00:50:52 +08:00
parent 40a366e68d
commit d95fcd8b00
31 changed files with 685 additions and 39 deletions
+15
View File
@@ -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,