localStorage
This commit is contained in:
+8
-8
@@ -16,9 +16,9 @@ import { useLanguage } from '@/context/LanguageContext';
|
|||||||
export default function Home() {
|
export default function Home() {
|
||||||
const { t, language } = useLanguage();
|
const { t, language } = useLanguage();
|
||||||
const [activeCategory, setActiveCategory] = useState(() => {
|
const [activeCategory, setActiveCategory] = useState(() => {
|
||||||
// 从 sessionStorage 获取上次选择的分类,如果没有则默认为 "all"
|
// 从 localStorage 获取上次选择的分类,如果没有则默认为 "all"
|
||||||
if (typeof window !== 'undefined') {
|
if (typeof window !== 'undefined') {
|
||||||
return sessionStorage.getItem('lastActiveCategory') || "all";
|
return localStorage.getItem('lastActiveCategory') || "all";
|
||||||
}
|
}
|
||||||
return "all";
|
return "all";
|
||||||
});
|
});
|
||||||
@@ -217,10 +217,10 @@ export default function Home() {
|
|||||||
const isPrefetched = prefetchedTools.has(toolCode);
|
const isPrefetched = prefetchedTools.has(toolCode);
|
||||||
|
|
||||||
// 检查是否是首次访问该工具
|
// 检查是否是首次访问该工具
|
||||||
const isFirstVisit = !sessionStorage.getItem(`visited-${toolCode}`);
|
const isFirstVisit = !localStorage.getItem(`visited-${toolCode}`);
|
||||||
|
|
||||||
// 记录已访问工具
|
// 记录已访问工具
|
||||||
sessionStorage.setItem(`visited-${toolCode}`, 'true');
|
localStorage.setItem(`visited-${toolCode}`, 'true');
|
||||||
|
|
||||||
// 打印调试信息 - 开发环境
|
// 打印调试信息 - 开发环境
|
||||||
if (process.env.NODE_ENV === 'development') {
|
if (process.env.NODE_ENV === 'development') {
|
||||||
@@ -230,13 +230,13 @@ export default function Home() {
|
|||||||
// 如果已预加载,直接导航,不显示loading
|
// 如果已预加载,直接导航,不显示loading
|
||||||
if (isPrefetched) {
|
if (isPrefetched) {
|
||||||
// 在导航前存储一个标志,表示这是从主页导航过来的
|
// 在导航前存储一个标志,表示这是从主页导航过来的
|
||||||
sessionStorage.setItem('from_homepage', 'true');
|
localStorage.setItem('from_homepage', 'true');
|
||||||
router.push(`/tools/${toolCode}`);
|
router.push(`/tools/${toolCode}`);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 在导航前存储一个标志,表示这是从主页导航过来的
|
// 在导航前存储一个标志,表示这是从主页导航过来的
|
||||||
sessionStorage.setItem('from_homepage', 'true');
|
localStorage.setItem('from_homepage', 'true');
|
||||||
|
|
||||||
const loadingId = 'loading-indicator-' + Date.now();
|
const loadingId = 'loading-indicator-' + Date.now();
|
||||||
const loadingEl = document.createElement('div');
|
const loadingEl = document.createElement('div');
|
||||||
@@ -466,8 +466,8 @@ export default function Home() {
|
|||||||
// 更新分类选择处理函数
|
// 更新分类选择处理函数
|
||||||
const handleCategoryChange = (categoryCode: string) => {
|
const handleCategoryChange = (categoryCode: string) => {
|
||||||
setActiveCategory(categoryCode);
|
setActiveCategory(categoryCode);
|
||||||
// 保存到 sessionStorage
|
// 保存到 localStorage
|
||||||
sessionStorage.setItem('lastActiveCategory', categoryCode);
|
localStorage.setItem('lastActiveCategory', categoryCode);
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user