☰
Agora Flat v1.2.0 发布解析:插件中心(Beta)、快捷键提示与课堂稳定性修复
2026/10/8 14:09:07 网站建设 项目流程
  • 音视频
  • 即时通讯
  • 教育
  • 前端
  • 桌面应用

【免费下载链接】flat

Project flat is the Web, Windows and macOS client of Agora Flat open source classroom.

项目地址:https://gitcode.com/gh_mirrors/fl/flat
点击查看免费下载

Agora Flat 是开源的在线教室客户端(覆盖 Web、Windows 与 macOS),本文以仓库内 docs/releases/v1.2.0/en.md 为骨架,逐条拆解 v1.2.0 版本带来的新功能、体验优化与缺陷修复,并结合packages目录下的真实源码,说明快捷键提示、视角跟随、白板重连等能力在代码层面的落地方式。读完本文,你将掌握 v1.2.0 的核心变更清单,并能顺着源码路径定位快捷键配置表、头像快捷操作组件与课堂布局相关实现。

版本概览

v1.2.0 是一次典型的“能力扩展 + 稳定性加固”版本,变更集中在三个方向:

  • 新增:插件中心(Beta)、快捷键提示
  • 优化:视角跟随改为互相跟随、动态 PPT 服务更新、书写体验优化
  • 修复:偶发听不到对方语音、断网重连导致白板崩溃、大班课/一对一视频区域折叠导致的布局错位

下面按“新增 → 优化 → 修复”的顺序,逐项说明其内容,并给出仓库内的源码级佐证。

新增一:插件中心(Beta)

v1.2.0 的发布说明在 Features 中首先列出 “Support plugin center (Beta)”,即在客户端内引入插件中心入口,作为扩展课堂教学能力(如工具类、互动类插件)的试点。

需要说明的是:在本仓库当前快照的packages目录中,并没有独立的plugin-center子包(packages/下现存的是flat-components、flat-i18n、flat-pages、flat-server-api、flat-services、flat-stores、flat-types、flat-vite-plugins等),因此可以推断插件中心在 v1.2.0 之后经历了持续迭代或模块重组。对于本版本的读者,重点是把插件中心理解为 Flat 桌面/Web 客户端在 v1.2.0 首次以 Beta 形态出现的扩展能力载体,后续版本会在此基础上继续演进。

新增二:快捷键提示

“Support shortcut key tips” 是本版本最直观、也最容易在源码中验证的新功能,它包含两层含义:

  1. 可查询的快捷键一览表:在“用户设置”页提供完整的快捷键总览;
  2. 悬浮提示:在工具按钮上悬浮时展示对应快捷键,降低学习成本。

设置页的快捷键总览表

源码位置:HotKeySettingPage/index.tsx 与 useHotKeyData.ts。

设置页使用 antdTable的展开行(expandable)组织数据:顶层按“工具栏(toolbar)/ 编辑器(editor)”分组,展开后逐条列出快捷键。数据源全部集中在 useHotKeyData.ts 中,翻译文案则来自 en.json(如shortcut-name、tool-selector、tool-pen、tool-eraser、tool-laser-pointer、undo、redo等 i18n key)。

工具栏(tools)分组快捷键:

功能快捷键
选择工具(Select)S
画笔(Pencil)P
橡皮(Eraser)E
圆形(Circle)C
矩形(Rectangle)R
箭头(Arrow)A
直线(Line)L
激光笔(Laser pointer)Z
抓手(Hand)H

编辑器(edit)分组快捷键:

功能快捷键
删除对象Backspace / Delete
等比缩放Shift / ⇧
切换到下一种颜色Alt + Q / ⌥ + Q
切换到上一种颜色Alt + Shift + Q / ⌥ + Shift + Q
画笔绘制正圆Shift + Mouse
从中心绘制圆形Ctrl + Mouse / ⌘ + Mouse
撤销Ctrl + Z / ⌘ + Z
重做Ctrl + Y / ⌘ + Y
复制Ctrl + C / ⌘ + C
粘贴Ctrl + V / ⌘ + V

表格同时给出 Windows(Ctrl/Alt)与 macOS(⌘/⌥)两套键位写法,说明客户端在两种平台上都做了适配。

偏好设置中的快捷键设置入口

除设置页外,客户端还在偏好设置弹窗中提供了快捷键设置入口,见 ShortcutSettings.tsx,其标题文案使用 i18n keyshortcut-settings,与设置页的快捷键总览形成互补,保证用户在课堂内外都能快速查阅快捷键。

课堂中的头像快捷操作

与“快捷键提示”同属“快捷操作”范畴的,还有课堂内对视频头像的快捷操作面板,见 Shortcuts/index.tsx、Shortcuts.tsx 与 Rewards.tsx:

  • 房主(creator)视角:对主持人头像提供“恢复窗口(restore-windows)”“全员静音(all-mute-mic)”按钮;
  • 学生/观众视角:对普通用户头像提供“授予白板操作权(whiteboard-access)”“奖励(reward)”按钮;
  • 奖励动效:Rewards组件监听 RTM 的reward事件,用 SVGA 动画(animation.svga)+ 音效(reward.mp3)在目标用户头像上播放动画,通过data-user-uuid定位目标 DOM。

这些代码印证了 v1.2.0 在“快捷键/快捷操作提示”方向上的整体设计:既有静态的快捷键速查表,也有动态的悬浮快捷面板。

优化一:视角跟随调整为互相跟随

“Adjust the view follow function to follow each other” 表示将白板的视角跟随从单向跟随改为互相跟随:此前可能只允许主持人跟随学生或学生单向跟随主持人,v1.2.0 后任意一侧的视角变化都能同步到对方,适合一对一、小班课中双方共同盯住同一块白板区域的场景。这类能力通常作用于 whiteboard-store 的视口(viewport)同步逻辑,具体跟随粒度由白板会话状态驱动。

优化二:动态 PPT 服务更新

“Updated dynamic PPT service” 指向课件转换/播放链路。仓库中与该能力对应的模块包括 file-convert-h5(H5 动态课件转换)与 file-convert-netless(Netless 课件转换)。本次更新属于服务端/转换流程的迭代,方向上是为了提升动态 PPT(含动画、页内交互)在课堂白板中的播放稳定性与还原度。

优化三:书写体验优化

“Optimized writing experience” 覆盖白板画笔在书写跟手度、笔画平滑度与橡皮擦除手感上的改进。从仓库结构看,书写相关实现沉淀在 fastboard 服务提供者(颜色快捷键、文件插入、光标注入等)与 flat-stores 的 whiteboard-store 中,v1.2.0 的优化正是基于这套渲染链路的迭代。

修复一:偶发听不到对方说话

“It may not be able to hear each other's speech” 属于音频链路问题,涉及 RTC 的远端音频流订阅与播放。Flat 的实时音视频能力由 agora-rtc 提供(Electron 与 Web 两套实现,分别见 agora-rtc-electron 与 agora-rtc-web)。此类修复通常围绕远端流订阅时机、断流重订阅与设备切换后的恢复逻辑展开,保证加入课堂后能稳定听到对端声音。

修复二:断网重连导致白板崩溃

“Disconnection and reconnection causes whiteboard to crash” 是课堂场景中最关键的稳定性问题:弱网环境下白板连接断开、SDK 自动重连时,如果状态同步/重放逻辑未正确处理,容易触发白板渲染异常甚至崩溃。

本次修复的核心在于重连后的会话恢复与状态重建。后续版本继续加固了该链路——v1.5.0 发布说明 中明确提到 “Adjust the interaction of disconnecting and reconnecting the whiteboard”,并修复“一方断线重连成功后,另一方仍错误显示其已离开”的问题,可以推断 v1.2.0 是这条重连稳定性改进链路的起点,后续版本在此基础上持续收敛重连边界行为。白板能力本身由 whiteboard 服务提供者 与 whiteboard-store 承载,重连恢复涉及房间重建、历史数据回放与本地状态重置三者的协同。

修复三:大班课/一对一视频区域折叠导致布局错位

“Large class/one to one video area collapsing causes layout misalignment” 属于 UI 布局类缺陷:大班课(BigClass)与一对一(OneToOne)场景中,当视频区域被折叠(collapse)后,其余区域的尺寸计算未跟随更新,导致布局错位。

对应页面实现位于 BigClassPage/index.tsx 与 OneToOnePage/index.tsx,两者都属于纯展示型页面(BigClassPage.less、OneToOnePage.less承担样式)。修复方向是让折叠状态驱动容器尺寸重算,使剩余区域在视频面板收起/展开时都能正确回流。

小结

v1.2.0 为 Agora Flat 带来了两项面向用户体验的新能力——插件中心(Beta)与快捷键提示,其中快捷键提示在 useHotKeyData.ts 中留下了完整、可查阅的键位表;同时通过视角互相跟随、动态 PPT 服务更新与书写体验优化提升了课堂交互质量,并修复了语音、白板重连崩溃与视频区折叠布局错位三类影响核心课堂体验的问题。如果你正在基于 Flat 做二次开发,推荐从 flat-pages/src/components/Shortcuts 与 HotKeySettingPage 入手理解其快捷键体系,再结合 whiteboard 相关 stores 追踪视角跟随与重连恢复逻辑。

  • 音视频
  • 即时通讯
  • 教育
  • 前端
  • 桌面应用

【免费下载链接】flat

Project flat is the Web, Windows and macOS client of Agora Flat open source classroom.

项目地址:https://gitcode.com/gh_mirrors/fl/flat
点击查看免费下载

相关推荐

上一篇:Diablo Edit2:暗黑破坏神2角色编辑器的终极免费解决方案
下一篇:高效Adobe授权破解实战:开源GenP工具的完整配置与优化指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询