Skip to content

Commit

Permalink
fix(components): refresh cached routes
Browse files Browse the repository at this point in the history
  • Loading branch information
taisha committed Mar 1, 2023
1 parent 506ffb8 commit b0f98e4
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/layouts/common/GlobalTab/components/ReloadButton/index.vue
Expand Up @@ -5,18 +5,27 @@
</template>

<script setup lang="ts">
import { useAppStore } from '@/store';
import { useRoute } from 'vue-router';
import { useAppStore, useRouteStore } from '@/store';
import { useLoading } from '@/hooks';
defineOptions({ name: 'ReloadButton' });
const app = useAppStore();
const routeStore = useRouteStore();
const route = useRoute();
const { loading, startLoading, endLoading } = useLoading();
function handleRefresh() {
const isCached = routeStore.cacheRoutes.includes(String(route.name));
if (isCached) {
routeStore.removeCacheRoute(route.name as AuthRoute.AllRouteKey);
}
startLoading();
app.reloadPage();
setTimeout(() => {
if (isCached) {
routeStore.addCacheRoute(route.name as AuthRoute.AllRouteKey);
}
endLoading();
}, 1000);
}
Expand Down
16 changes: 16 additions & 0 deletions src/store/modules/route/index.ts
Expand Up @@ -146,6 +146,22 @@ export const useRouteStore = defineStore('route-store', {
} else {
await this.initStaticRoute();
}
},

/** 从缓存路由中去除某个路由 */
removeCacheRoute(name: AuthRoute.AllRouteKey) {
const index = this.cacheRoutes.indexOf(name);
if (index > -1) {
this.cacheRoutes.splice(index, 1);
}
},

/** 添加某个缓存路由 */
addCacheRoute(name: AuthRoute.AllRouteKey) {
const index = this.cacheRoutes.indexOf(name);
if (index === -1) {
this.cacheRoutes.push(name);
}
}
}
});

0 comments on commit b0f98e4

Please sign in to comment.