diff --git a/reijm-read/package.json b/reijm-read/package.json index 2bb33b5..ec9cd64 100644 --- a/reijm-read/package.json +++ b/reijm-read/package.json @@ -44,7 +44,6 @@ "@vue/eslint-config-typescript": "^12.0.0", "@vue/tsconfig": "^0.5.0", "autoprefixer": "^10.4.16", - "cesium": "^1.129.0", "eslint": "^8.49.0", "eslint-plugin-vue": "^9.17.0", "imagemin": "^9.0.0", @@ -62,7 +61,6 @@ "terser": "^5.37.0", "typescript": "~5.3.0", "vite": "^5.4.19", - "vite-plugin-cesium": "^1.2.23", "vite-plugin-compression": "^0.5.1", "vite-plugin-image-optimizer": "^1.1.8", "vite-plugin-imagemin": "^0.6.1", diff --git a/reijm-read/src/views/HomeView.vue b/reijm-read/src/views/HomeView.vue index 87bc8ed..5c35bc7 100644 --- a/reijm-read/src/views/HomeView.vue +++ b/reijm-read/src/views/HomeView.vue @@ -1,6 +1,6 @@ +// 空函数占位(兼容旧逻辑) +const restoreState = (): HomeViewState | null => { + try { + const savedState = localStorage.getItem(PERSISTENCE_KEY) + if (savedState) { + return JSON.parse(savedState) + } + } catch (e) { + console.error('恢复状态失败:', e) + } + return null +} +// 保存状态到 localStorage +const saveState = () => { + try { + const state: HomeViewState = { + searchKeyword: searchKeyword.value, + showSearchResults: showSearchResults.value, + searchResults: searchResults.value + } + localStorage.setItem(PERSISTENCE_KEY, JSON.stringify(state)) + } catch (e) { + console.error('保存状态失败:', e) + } +} +// 保存滚动位置 +const saveScrollPosition = () => { + try { + const scrollPosition = { + x: window.scrollX || window.pageXOffset, + y: window.scrollY || window.pageYOffset + } + localStorage.setItem(SCROLL_POSITION_KEY, JSON.stringify(scrollPosition)) + } catch (e) { + console.error('保存滚动位置失败:', e) + } +} +// 恢复滚动位置 +const restoreScrollPosition = () => { + try { + const savedPosition = localStorage.getItem(SCROLL_POSITION_KEY) + if (savedPosition) { + const { x, y } = JSON.parse(savedPosition) + // 使用 nextTick 确保 DOM 更新后再滚动 + nextTick(() => { + window.scrollTo(x, y) + }) + } + } catch (e) { + console.error('恢复滚动位置失败:', e) + } +} + +// 清除保存的状态 +const clearSavedState = () => { + localStorage.removeItem(PERSISTENCE_KEY) + localStorage.removeItem(SCROLL_POSITION_KEY) +} + + +