Marquee(数字看板)
用于全屏动画文本的数字看板应用。典型用例: 橱窗公告、活动接待、咖啡店"5 分钟后回来"、辅助显示器上的励志横幅、开放办公室呼叫某人的提示。

功能
- 编写文本、选择动画效果、背景颜色、文本颜色、速度
- 单键全屏模式(
F键或⛶按钮) - 在任何显示器上工作 — 只需将窗口拖到另一个屏幕并全屏
可用效果
| 效果 | 行为 |
|---|---|
| 水平滚动 | 文本从右向左滑动(经典看板) |
| 垂直滚动 | 文本上升(电影字幕) |
| 淡入/淡出 | 文本在中心脉动 |
| 反弹 | 文本从角到角跳动 |
| 发光 | 霓虹脉动,适合黑色背景 |
| 波浪 | 字符波动(复古效果) |
| 静态 | 文本静止(简单横幅) |
颜色和背景
- 文本颜色: HEX 选择器
- 背景颜色: HEX 选择器
- 预设(切换): 黑/白、黑/霓虹绿、黑/黄(警告标志)、红/白(紧急)、蓝/白(企业)
- 渐变切换: 背景变为柔和渐变(3 个预设)
速度
滑块 0.5×〜5×。默认 1×(横穿 30 字符文本约 10 秒)。
全屏模式
点击右上角的 ⛶ 或按 F。Esc 退出。
全屏时:
- 壁纸、停靠栏、菜单栏消失
- 窗口控件(X、_、▢)消失
- 鼠标不动 3 秒后隐藏
移动设备最佳实践: 锁定方向。在横向模式下,更多长文本可以容纳。
移动设备
在智能手机/平板电脑上工作。顶部的移动抽屉按钮显示控件。在移动全屏中,从下边缘向上滑动以重新调用控件。
已解决的反模式 (2026-04-26)
旧版本在 <html> 上应用 touch-action: none 以捕获自定义全屏手势。错误: 如果通过 OS 级别的下滑(不是按钮)关闭应用程序,类会全局保持,并破坏 所有后续应用 的滑动关闭,直到页面重新加载。
修复: 现在使用 浏览器的原生 Fullscreen API(element.requestFullscreen()),它在销毁时自动解析。<html> 上没有全局类。
键盘快捷键
| 键 | 操作 |
|---|---|
F | 切换全屏 |
Esc | 退出全屏 |
Space | 暂停/恢复动画 |
↑ / ↓ | 增加/减少速度 |
← / → | 切换效果 |
限制
- 不保存预设(关闭时文本丢失)
- 没有播放列表(在 5 条消息之间轮换)
- 无声音
- 不导入图像(仅文本)
这些在需求合理化时在 v2 路线图上。
实际用例
| 设置 | 配置 |
|---|---|
| 橱窗"5 分钟后回来" | 黑色背景,黄色文本,慢速水平滚动 (0.7×) |
| 活动接待"Welcome to ROADSHOW 2026" | 霓虹绿色发光,静态 |
| 当前演讲者姓名的展示点 | 企业蓝色渐变,2 秒淡入/淡出 |
| "会议室使用中" 门牌 | 红/白,反弹 |
| 辅助桌面励志横幅 | 波浪 + 渐变背景,1× 速度 |
参考
- 在
src/config/apps.js注册的应用(搜索id: 'marquee') - 组件:
src/components/roqueos/apps/ROSMarquee.vue - 回归规则
.claude/rules/10-ui-patterns.md的"反模式:<html>/<body>中的全局类"部分