一个基于 Tauri + Vue 3 + TypeScript + UnoCSS + Pinia 的桌面悬浮工具,具有透明背景和弹出配置页面的特性。
- 🖥️ 桌面悬浮: 窗口始终在最顶层,不显示在任务栏中
- 🔍 透明背景: 支持可调节透明度的玻璃态效果
- 🎨 动态边框: 鼠标划过时显示边框,支持自定义颜色和宽度
- ⚙️ 弹出配置: 点击设置按钮弹出现代化配置界面
- 🎯 拖拽移动: 支持拖拽窗口位置
- 🎨 UnoCSS: 使用原子化CSS框架,样式简洁高效
- 📱 响应式: 支持窗口大小调整
- 🔧 TypeScript: 完整的类型支持
pnpm install
pnpm tauri:dev
pnpm tauri:build
- 前端框架: Vue 3 + TypeScript
- 状态管理: Pinia
- 样式框架: UnoCSS
- 桌面框架: Tauri 2.0
- 构建工具: Vite
- 包管理器: pnpm
src/
├── components/ # Vue 组件
│ ├── FloatingWindow.vue # 主悬浮窗口组件
│ └── SettingsModal.vue # 设置弹窗组件
├── store/ # Pinia 状态管理
│ └── app.ts # 应用配置状态
├── views/ # 页面视图
├── router/ # 路由配置
└── main.ts # 应用入口
src-tauri/ # Tauri 后端
├── src/ # Rust 源码
├── Cargo.toml # Rust 依赖
└── tauri.conf.json # Tauri 配置
transparent: true
- 启用窗口透明decorations: false
- 隐藏窗口边框alwaysOnTop: true
- 窗口始终在最顶层skipTaskbar: true
- 不显示在任务栏
- 透明度调节: 10%-100% 可调
- 圆角半径: 0-20px 可调
- 边框样式: 颜色、宽度可自定义
- 窗口大小: 支持最小尺寸限制
项目使用 UnoCSS,支持原子化CSS类名:
<!-- 使用预设的按钮样式 -->
<button class="btn btn-primary">
确定
</button>
<!-- 使用颜色变量 -->
<div class="bg-primary text-white">
主要颜色
</div>
<!-- 使用响应式设计 -->
<div class="w-100 md:w-50 lg:w-25">
响应式宽度
</div>
- VS Code + Volar + Tauri + rust-analyzer
项目使用 Vue 3 <script setup>
SFC,详情请参考 script setup 文档。
欢迎提交 Issue 和 Pull Request!
MIT License