Skip to content

Repository files navigation

ViewStage

基于 Tauri v2 构建的桌面实物展台与演示批注应用,适用于教学、会议、产品展示等多种场景。

无需 Node.js 构建前端 — 原生 ES Module 直接加载,零 bundler 依赖。

版本Tauri v2许可证

由于开发者高三了,所以开发计划暂停,后续仅进行功能修复,与2027年6月后继续 截至目前,项目正在全力推进转向纯rust+iced开发,旨在提供更好的性能,此项目将主要进行功能修复

功能概览

类别功能
📷 摄像头实时画面采集,多设备/分辨率切换,旋转/镜像/黑白/亮度对比度调节,降噪,最小化自动关开
🖼 图片导入本地图片,缩略图侧边栏,旋转/居中/删除
📄 文档PDF.js 渲染 PDF;PowerShell COM 自动转换 Word(Office/WPS/LibreOffice)为 PDF;系统文件关联
✏️ 批注移动/批注/橡皮擦三模式,压感笔锋,Catmull-Rom 平滑,自定义颜色粗细,笔画分割擦除
↩️ 撤销Command 模式撤销重做,上限 50 步,超限自动压缩快照
🎨 主题深色/浅色双内置主题,支持 .vst 自定义导入,实时切换
🌐 国际化简体中文、繁体中文、英文、日语、韩语、法语、德语、西班牙语、俄语(9 种语言)
⚙️ 设置画布/画笔/信号源/文件关联/缓存/日志管理,设置导入导出 JSON
🔄 更新检查 GitHub Release,多镜像下载,进度条,自动安装
📸 截图画布合并导出 PNG,摄像头帧捕获,源切换自动保存批注快照
🧩 源管理摄像头/图片/文档三源统一管理,缩放状态与批注自动保存恢复
🖥 渲染双图层 + 平铺渲染 + 动态 DPR + 四叉树索引 + 自适应帧率
📱 手机互联LAN 局域网连接,UDP 自动发现,远程控制(翻页/批注/截图等 18 种操作),文件上传,手机摄像头推流(JPEG + H.264)
💡 展台灯Seewo 文档摄像头灯光控制,USB HID 协议,支持 12 款型号,自动检测连接状态
🖤 黑板全屏黑板模式,多页绘图,独立绘图引擎
手掌擦除多触点手掌识别,自动切换橡皮擦模式
🚀 其他OOBE 首次引导、Splashscreen 启动屏、无框全屏窗口

技术栈

层级技术
前端Vanilla HTML5 + CSS3 + JavaScript (ES Module) — 无 bundler、无 Node.js 构建
后端Rust
桌面框架Tauri v2
PDF 渲染PDF.js
Word 转换PowerShell COM 互操作 (Office/WPS/LibreOffice)
日志simplelog

项目无需 npm / package.json,前端直接以 ES Module 方式加载。

运行条件

系统要求

  • 操作系统:Windows 10 或更高版本、Linux(x86_64)
  • 运行时:WebView2(下载地址

硬件要求

  • 摄像头:用于展台功能(可选)
  • 内存:建议 4GB 以上
  • 存储:约 100MB(含运行时)

可选依赖

  • Microsoft Office / WPS Office / LibreOffice:用于 Word 文档转换

开发环境要求

  • Rust(稳定版,安装
  • Tauri CLIcargo install tauri-cli --locked
  • Cargo(随 Rust 一起安装)

构建与运行

# 开发模式(热重载)
cargo tauri dev
# 生产构建
cargo tauri build

CI 触发器:推送 v* 标签或手动触发。

许可证

本项目采用开源许可证,详见 LICENSE 文件。使用本仓库代码构建的应用也必须开源。

致谢

核心框架

  • Tauri — 构建更安全、更轻量的桌面应用
  • Tokio — Rust 异步运行时

前端库

  • PDF.js — Mozilla 的 PDF 渲染库

Rust 库

Tauri 插件

感谢所有开源社区的贡献!

更新日志

完整更新日志请查看 GitHub Releases

About

ViewStage是一个摄像头、文档的展台应用,使用tauri与Rust构建,前端使用JS+HTML5+CSS构建,无前端依赖,轻量高性能,适用与课堂及需要大屏批注文档、图片等场景

Resources

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages