feat: 添加清除 Service Worker 缓存功能,优化缓存管理逻辑
This commit is contained in:
@@ -75,6 +75,14 @@ export function useCacheSize() {
|
|||||||
// 清除 sessionStorage
|
// 清除 sessionStorage
|
||||||
sessionStorage.clear();
|
sessionStorage.clear();
|
||||||
|
|
||||||
|
// 清除 Service Worker 缓存
|
||||||
|
if ("serviceWorker" in navigator) {
|
||||||
|
const registrations = await navigator.serviceWorker.getRegistrations();
|
||||||
|
for (const registration of registrations) {
|
||||||
|
await registration.unregister();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 清除 Cache API 缓存
|
// 清除 Cache API 缓存
|
||||||
if ("caches" in window) {
|
if ("caches" in window) {
|
||||||
const cacheNames = await caches.keys();
|
const cacheNames = await caches.keys();
|
||||||
|
|||||||
21
src/main.ts
21
src/main.ts
@@ -2,24 +2,24 @@ import { IonicVue } from "@ionic/vue";
|
|||||||
import { createPinia } from "pinia";
|
import { createPinia } from "pinia";
|
||||||
import { createApp } from "vue";
|
import { createApp } from "vue";
|
||||||
import App from "./App.vue";
|
import App from "./App.vue";
|
||||||
|
import { authClient } from "./auth";
|
||||||
import { i18n } from "./locales";
|
import { i18n } from "./locales";
|
||||||
|
|
||||||
import { router } from "./router";
|
import { router } from "./router";
|
||||||
|
|
||||||
/* Core CSS required for Ionic components to work properly */
|
/* Core CSS required for Ionic components to work properly */
|
||||||
import "@ionic/vue/css/core.css";
|
import "@ionic/vue/css/core.css";
|
||||||
|
|
||||||
/* Basic CSS for apps built with Ionic */
|
/* Basic CSS for apps built with Ionic */
|
||||||
import "@ionic/vue/css/normalize.css";
|
import "@ionic/vue/css/normalize.css";
|
||||||
import "@ionic/vue/css/structure.css";
|
import "@ionic/vue/css/structure.css";
|
||||||
import "@ionic/vue/css/typography.css";
|
|
||||||
|
|
||||||
|
import "@ionic/vue/css/typography.css";
|
||||||
/* Optional CSS utils that can be commented out */
|
/* Optional CSS utils that can be commented out */
|
||||||
import "@ionic/vue/css/padding.css";
|
import "@ionic/vue/css/padding.css";
|
||||||
import "@ionic/vue/css/float-elements.css";
|
import "@ionic/vue/css/float-elements.css";
|
||||||
import "@ionic/vue/css/text-alignment.css";
|
import "@ionic/vue/css/text-alignment.css";
|
||||||
import "@ionic/vue/css/text-transformation.css";
|
import "@ionic/vue/css/text-transformation.css";
|
||||||
import "@ionic/vue/css/flex-utils.css";
|
import "@ionic/vue/css/flex-utils.css";
|
||||||
import "@ionic/vue/css/display.css";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ionic Dark Mode
|
* Ionic Dark Mode
|
||||||
@@ -28,10 +28,11 @@ import "@ionic/vue/css/display.css";
|
|||||||
* https://ionicframework.com/docs/theming/dark-mode
|
* https://ionicframework.com/docs/theming/dark-mode
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// import "@ionic/vue/css/palettes/dark.always.css";
|
import "@ionic/vue/css/display.css";
|
||||||
import "@ionic/vue/css/palettes/dark.class.css";
|
|
||||||
// import "@ionic/vue/css/palettes/dark.system.css";
|
// import "@ionic/vue/css/palettes/dark.system.css";
|
||||||
|
|
||||||
|
// import "@ionic/vue/css/palettes/dark.always.css";
|
||||||
|
import "@ionic/vue/css/palettes/dark.class.css";
|
||||||
/* Theme variables */
|
/* Theme variables */
|
||||||
import "./theme/index.css";
|
import "./theme/index.css";
|
||||||
import "./theme/variables.css";
|
import "./theme/variables.css";
|
||||||
@@ -39,14 +40,18 @@ import "./theme/ionic.css";
|
|||||||
|
|
||||||
useTheme();
|
useTheme();
|
||||||
|
|
||||||
const pinia = createPinia();
|
authClient.getSession().then((session) => {
|
||||||
|
const pinia = createPinia();
|
||||||
|
const userStore = useUserStore(pinia);
|
||||||
|
userStore.setToken(session.data?.session.token || "");
|
||||||
|
|
||||||
const app = createApp(App)
|
const app = createApp(App)
|
||||||
.use(IonicVue)
|
.use(IonicVue)
|
||||||
.use(pinia)
|
.use(pinia)
|
||||||
.use(router)
|
.use(router)
|
||||||
.use(i18n);
|
.use(i18n);
|
||||||
|
|
||||||
router.isReady().then(() => {
|
router.isReady().then(() => {
|
||||||
app.mount("#app");
|
app.mount("#app");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import type { UserData, UserProfileData } from "@/api/types";
|
import type { UserData, UserProfileData } from "@/api/types";
|
||||||
import { client, safeClient } from "@/api";
|
import { client, safeClient } from "@/api";
|
||||||
|
import { authClient } from "@/auth";
|
||||||
|
|
||||||
interface State {
|
interface State {
|
||||||
user: UserData | null;
|
user: UserData | null;
|
||||||
|
|||||||
Reference in New Issue
Block a user