八荒启自主研发产品

玄武屏使用手册

融万物于一屏 · 以交互动画为魂,重塑演示的边界

89 章 · 持续更新

89
章节
4
版本
v1.0
产品最新版
元素详解

14. GGB 动画元素 ggb

更新于 2026-10-28

玄武屏的核心壁垒就是演示文稿里嵌入的是活的动画。GGB(GeoGebra)是其中最重要的一类。

GGB 是什么

GeoGebra 是数学 / 物理 / 工程领域最强的几何代数交互工具。玄武屏深度集成,可在演示中嵌入完整可交互的 GGB 动画。

嵌入流程

用户在编辑器输入平台作品 ID(如 BGeo24100033)
  → 前端调用 /media/ggb-embed?workId=...
  → Nuxt Server 验证购买权 + 获取 OSS Key
  → 服务端拉 .ggb 文件 → 转 base64 返回
  → 前端写入 ggbContent 字段

OSS URL 全程不经过浏览器,彻底规避爬取风险。workId 仅作审计溯源。

视角保存

双击 GGB 元素进入交互模式 → 旋转 / 缩放调整视角 → 退出交互时自动调用 getBase64() 把当前状态覆写到 ggbContent → 视角永久锁定在演示里。

下次播放时,所有观众看到的都是你调好的角度,不会被 GGB 默认视角拉回去。

演示模式 vs 交互模式

模式 触发 行为
演示模式(默认) 单击元素 触发动画 / 跳转
交互模式 双击元素 进入元素内部,可拖滑块、改参数;按 Esc 退出

interactable: true 的元素才能进入交互模式。设为 false 则元素纯展示。

数据上报(高级)

GGB 元素可声明哪些变量上报到课堂系统:

{
  "type": "ggb",
  "workId": "BGeo24100033",
  "interactable": true,
  "reportVars": ["v0", "m1", "result"]
}

详见「43. 课后回看与学情数据」。

常见问题

  • Q:GGB iframe 跨域报错? A:v1.0 起内置代理已配置,正常上传无需手动处理 CORS
  • Q:能调用 GGB JavaScript API 吗? A:可以,详见 GGB 章节高级用法
  • Q:单页可以嵌入几个 GGB? A:建议 ≤ 2,超过会显著增加首屏开销
注意

版权与采购:从平台作品库引用的动画是采购了使用权,跟着 .xwp 分发;自上传素材请确认有版权。

HTML 交互组件的嵌入方式见「15. HTML 交互组件 html」。