Skip to content

llds66/pintop

Repository files navigation

pintop

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 install

Web 开发

pnpm dev

桌面开发(Tauri)

pnpm desktop:dev

构建

pnpm build
pnpm desktop:build

代码检查

pnpm 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/coreinvoke 调用 Rust command:

  • list_windows:获取窗口列表
  • set_window_topmost:设置窗口置顶状态

封装位置:src/common/apis/windowTop.ts

架构约束

本项目遵循“前端负责 UI 与交互,Rust 负责系统能力”的分层。

  • 不要在 Vue 组件中直接写系统 API 调用逻辑
  • 新功能优先沿用现有目录和命名规范
  • 详细规则请查看根目录 AGENTS.md

说明

  • 当前窗口置顶能力为 Windows 定向实现;在非 Windows 平台会返回不支持提示。

About

桌面置顶应用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors