fix(projects): fix reCacheRoute. fixed #464

This commit is contained in:
Soybean 2024-06-02 01:14:48 +08:00
parent 5bd96b8dd3
commit 59faf15229

View File

@ -97,13 +97,19 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
/** Cache routes */ /** Cache routes */
const cacheRoutes = ref<RouteKey[]>([]); const cacheRoutes = ref<RouteKey[]>([]);
/** All cache routes */
const allCacheRoutes = shallowRef<RouteKey[]>([]);
/** /**
* Get cache routes * Get cache routes
* *
* @param routes Vue routes * @param routes Vue routes
*/ */
function getCacheRoutes(routes: RouteRecordRaw[]) { function getCacheRoutes(routes: RouteRecordRaw[]) {
cacheRoutes.value = getCacheRouteNames(routes); const alls = getCacheRouteNames(routes);
cacheRoutes.value = alls;
allCacheRoutes.value = [...alls];
} }
/** /**
@ -130,12 +136,23 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
cacheRoutes.value.splice(index, 1); cacheRoutes.value.splice(index, 1);
} }
/**
* Is cached route
*
* @param routeKey
*/
function isCachedRoute(routeKey: RouteKey) {
return allCacheRoutes.value.includes(routeKey);
}
/** /**
* Re cache routes by route key * Re cache routes by route key
* *
* @param routeKey * @param routeKey
*/ */
async function reCacheRoutesByKey(routeKey: RouteKey) { async function reCacheRoutesByKey(routeKey: RouteKey) {
if (!isCachedRoute(routeKey)) return;
removeCacheRoutes(routeKey); removeCacheRoutes(routeKey);
await appStore.reloadPage(); await appStore.reloadPage();