星球地图 (planet-map)
- 文件:
web/src/pages/planet-map/planet-map.vue - 路由:
/planet-map(TabBar 星球)
页面职责
3D 星球轨道地图,展示 6 颗学习星球,点击星球进入详情学习。
使用的 Store
usePlanetStore:星球数据(planets)、解锁状态useUserStore:学习记录、连续天数
核心功能
统计卡片
- 已解锁星球数、已学汉字数、连续天数
- 半透明悬浮卡片,覆盖在 3D 场景上方
3D 星球场景
- 使用
GalaxyScene组件渲染 Three.js 3D 场景 - 6 颗星球在轨道上旋转,每颗有独特的颜色和光晕
- 支持点击星球(
@planet-click)和悬浮进入(@planet-enter) - 未解锁星球显示锁定状态
- GLSL 自定义着色器渲染星球外观
星球跳转弹窗
- 点击已解锁星球弹出确认弹窗
- 显示星球名称、图标、描述、学习进度
- 确认后跳转
/planet-detail?planet=<key>
底部提示
- "点击已解锁的星球,开启该分类的汉字学习之旅"
- "完成当前星球学习,可解锁下一个星球"