feat: 添加断点续读功能,优化用户体验

- 在 chenyunStore 中引入 lastVisitedPlace 和 setLastVisitedPlace 方法,支持记录用户上次访问的场景。
- 在各个场景组件中使用 useEffect 设置 lastVisitedPlace,确保用户在返回时能继续上次访问的地点。
- 更新相关组件,确保在导航时能够正确使用 lastVisitedPlace,提升用户交互体验。
- 在 puzzleStore 中添加保存用户定义的功能,增强数据持久性。
This commit is contained in:
zhongyidian committed 2026-03-06 16:33:44 +08:00
1 parent 76c67b492e
commit b1d55b9464
17 files changed
+147 -54

No files matched your search

+6 -2
View File
@@ -1,4 +1,4 @@
import { useState } from 'react'
import { useState, useEffect } from 'react'
import {
ExhibitOverlay,
Title,
@@ -37,7 +37,11 @@ const ChenyunPlace4 = () => {
// 使用持久化的访问状态
const place = 'place4'
const { markExhibitVisited, getVisitedExhibits } = useChenyunStore()
const { markExhibitVisited, getVisitedExhibits, setLastVisitedPlace } = useChenyunStore()
useEffect(() => {
setLastVisitedPlace(place)
}, [setLastVisitedPlace])
// 从 store 获取已访问的展品,转换为 Set 用于兼容现有代码
const visitedExhibits = getVisitedExhibits(place)