pintop 是一个基于 Tauri 2 + Vue 3 + TypeScript 的桌面应用模板,当前聚焦于“桌面窗口置顶管理”。
- 枚举当前系统可管理的窗口列表(Windows)
- 显示窗口标题、进程名、应用图标
- 一键切换窗口置顶 / 取消置顶
- 按“全部 / 置顶”筛选列表
- 顶部单条消息提示(可关闭,自动消失)
- 前端:Vue 3、Vue Router 4、Pinia、PrimeVue、UnoCSS、TypeScript
- 桌面端:Tauri 2、Rust
- 系统能力(Windows):
windows-sys
建议环境:
- Node.js 20+
- pnpm 9+
- Rust stable(含 cargo)
- Windows 10/11(当前窗口管理功能仅在 Windows 可用)
pnpm installpnpm devpnpm desktop:devpnpm build
pnpm desktop:buildpnpm lint
pnpm lint:fix.
├─ src/
│ ├─ layouts/ # 页面骨架布局
│ ├─ pages/ # 页面级组件
│ ├─ common/
│ │ ├─ apis/ # 前端调用 Tauri command 的封装
│ │ ├─ components/ # 可复用 UI 组件
│ │ └─ types/ # TS 类型定义
│ ├─ pinia/ # 状态管理
│ └─ router/ # 路由配置
├─ src-tauri/
│ ├─ src/main.rs # Rust 可执行入口
│ ├─ src/lib.rs # Tauri Builder 与 command 注册入口
│ └─ tauri.conf.json # Tauri 窗口与打包配置
└─ AGENTS.md # 项目开发约束(必读)
前端通过 @tauri-apps/api/core 的 invoke 调用 Rust command:
list_windows:获取窗口列表set_window_topmost:设置窗口置顶状态
封装位置:src/common/apis/windowTop.ts
本项目遵循“前端负责 UI 与交互,Rust 负责系统能力”的分层。
- 不要在 Vue 组件中直接写系统 API 调用逻辑
- 新功能优先沿用现有目录和命名规范
- 详细规则请查看根目录
AGENTS.md
- 当前窗口置顶能力为 Windows 定向实现;在非 Windows 平台会返回不支持提示。
