From 117dd2d2331443dd9f7dbf05e4d1d91ba3ee38f1 Mon Sep 17 00:00:00 2001 From: Kunagisa <1549184870@qq.com> Date: Sat, 14 Jun 2025 14:39:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E5=85=88=E6=8A=8A=E9=81=8D=E5=8E=86?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E5=86=85=E5=AE=B9=E5=AD=98=E5=82=A8=E5=88=B0?= =?UTF-8?q?=E5=86=85=E5=AD=98=E4=B8=AD=EF=BC=8C=E5=85=8D=E5=BE=97=E6=9F=A5?= =?UTF-8?q?=E6=89=BE=E5=85=B6=E4=BB=96=E4=BD=9C=E8=80=85=E6=97=B6=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E8=8E=B7=E5=8F=96=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/jwt.js | 2 +- src/views/index/EditorsMaps.vue | 38 ++++++++++++++++++--------------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/utils/jwt.js b/src/utils/jwt.js index 35df8b0..e061d0f 100644 --- a/src/utils/jwt.js +++ b/src/utils/jwt.js @@ -50,7 +50,7 @@ export const getUserInfo = async () => { export const logoutUser = () => { // 不再是 async,因为它不执行异步导航 // console.log('jwt.js: logoutUser called. Clearing local storage.'); localStorage.removeItem('access_token'); - localStorage.removeItem('user_id'); // 如果您也存储了user_id + localStorage.removeItem('user_id'); // 导航将由调用者(如路由守卫)处理 }; diff --git a/src/views/index/EditorsMaps.vue b/src/views/index/EditorsMaps.vue index e533b9a..e132544 100644 --- a/src/views/index/EditorsMaps.vue +++ b/src/views/index/EditorsMaps.vue @@ -182,25 +182,29 @@ const fetchAuthorMaps = async () => { return } authorName.value = author - - // 获取所有地图 + const cacheKey = 'allMaps' let allMaps = [] - let page = 1 - let hasMore = true - - while (hasMore) { - const response = await getMaps({ - page: page, - ordering: '-create_time' - }) - - if (response.results && response.results.length > 0) { - allMaps = allMaps.concat(response.results) - hasMore = !!response.next - page++ - } else { - hasMore = false + const cached = sessionStorage.getItem(cacheKey) + if (cached) { + allMaps = JSON.parse(cached) + } else { + // 获取所有地图 + let page = 1 + let hasMore = true + while (hasMore) { + const response = await getMaps({ + page: page, + ordering: '-create_time' + }) + if (response.results && response.results.length > 0) { + allMaps = allMaps.concat(response.results) + hasMore = !!response.next + page++ + } else { + hasMore = false + } } + sessionStorage.setItem(cacheKey, JSON.stringify(allMaps)) } // 根据作者名称过滤地图 authorMaps.value = allMaps.filter(map => map.user === author)