Skip to content

星球地图 (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>

底部提示

  • "点击已解锁的星球,开启该分类的汉字学习之旅"
  • "完成当前星球学习,可解锁下一个星球"

子页面