Skip to content

Web 3D 建筑驾驶舱

Web 3D 建筑驾驶舱

Web 公共门户(apps/web)在首页渲染一个全屏 Babylon.js 3D 建筑场景,叠加悬浮控制面板和仪表盘小组件。

3D 场景

场景以一个 glTF/glB 格式的三维建筑模型为基础,支持:

  • 热点标签(Hotspot):在建筑特定位置悬浮显示区域名称,点击触发交互
  • 辉光效果(Glow Layer):突出显示当前选中的区域
  • 自动旋转相机:可配置旋转速度和初始角度
  • 环境预设:切换不同 HDR 环境贴图(工作室 / 公园 / 黄昏等)

相机控制

场景右上角浮动控制按钮:

操作说明
🔍 放大拉近相机视角
🔍 缩小拉远相机视角
↺ 复位恢复默认相机位置和角度
⛶ 全屏切换全屏模式(隐藏仪表盘覆盖层)

全屏模式下仪表盘小组件淡出,3D 场景占据整个视口,适合沉浸式浏览。

SSE 连接状态

页面左上角显示 SSE(Server-Sent Events)连接指示器:

  • 🟢 绿色:已连接,实时数据正常推送
  • 🟡 黄色:正在重新连接
  • 🔴 红色:连接断开

连接使用短期 JWT 令牌(有效期 30 秒),由 /api/events/token 动态签发,心跳间隔 30 秒。

区域导航

左侧面板列出建筑内的所有区域/楼层。点击某个区域:

  1. 相机平滑飞至该区域位置
  2. 该区域热点标签高亮显示
  3. 区域关联的数据在右侧面板更新

时间与日期

页面顶部右侧显示当前日期和时间(使用浏览器本地时区)。

基于 MIT 协议发布