# Sprout Launcher · 萌芽桌面启动器 > 一个清新风格的 Windows 应用启动器,基于 **Tauri 2 + React 18 + TypeScript** 构建。 把常用的程序、脚本、文件夹收纳到一个漂亮的网格面板里,点击即启动,常驻系统托盘随用随开。 ## ✨ 功能特性 - 🚀 **一键启动** — 支持 `.exe` / `.bat` / `.cmd` / `.ps1` / `.vbs` 及文件夹,点击图标即运行 - 🖼️ **自动提取图标** — 通过 .NET `System.Drawing` 自动抓取程序图标并缓存为 PNG - 🔗 **快捷方式管理** — 自动在数据目录生成 `.lnk`,可在资源管理器中定位目标 - 🖱️ **右键上下文菜单** — 打开、以管理员身份运行、在资源管理器中显示、编辑、移除 - 📁 **分类管理** — 自定义分类整理应用,默认分类不可删除 - 🎨 **清新界面** — 淡绿渐变背景 + 毛玻璃效果,自定义无边框标题栏 - 🔔 **系统托盘** — 关闭窗口隐藏到托盘,左键托盘唤出主窗口 - 🔄 **开机自启** — 一键开启 / 关闭随系统启动 - 💾 **配置导入导出** — 一键备份 / 迁移所有应用与分类 - 🔂 **单实例运行** — 重复启动时聚焦已有窗口 ## 📦 技术栈 | 层级 | 技术 | |------|------| | 桌面框架 | [Tauri 2](https://v2.tauri.app/) | | 前端 | React 18 + TypeScript 5 | | 构建工具 | Vite 5 | | 后端 | Rust(图标提取 / 快捷方式 / 托盘 / 进程启动) | | Tauri 插件 | `dialog`、`autostart`、`single-instance`、`log` | ## 🚀 快速开始 ### 环境要求 - [Node.js](https://nodejs.org/) ≥ 18 - [Rust](https://www.rust-lang.org/tools/install) 工具链 -(Windows)[Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/) ### 安装依赖 ```bash npm install ``` ### 开发运行 ```bash npm run tauri dev ``` ### 构建安装包 ```bash npm run tauri build ``` 产物位于 `src-tauri/target/release/bundle/nsis/`,生成简体中文 NSIS 安装包(当前用户安装模式)。 ## 🎯 使用方法 ### 添加应用 1. 点击「➕ 添加应用」 2. 浏览选择 `.exe` / 脚本 / 文件夹(支持一次多选) 3. 系统自动提取图标与文件名 4. 可选:自定义名称、选择分类、填写描述 5. 确认添加 ### 管理应用 - **启动**:单击应用卡片 - **右键菜单**:打开 / 以管理员身份运行 / 在资源管理器中显示快捷方式或目标 / 编辑 / 移除 - **编辑、删除**:鼠标悬停卡片显示操作按钮 ### 分类与配置 - 「📁 管理分类」中新增 / 删除分类(默认分类不可删除) - 设置中可导入 / 导出配置 JSON,以及开关开机自启 ## 📝 数据存储 | 内容 | 位置 | |------|------| | 应用与分类配置 | `%APPDATA%\com.smyhub.sprout-launcher\launcher-config.json` | | 快捷方式缓存 | `%APPDATA%\com.smyhub.sprout-launcher\data\shortcuts\` | | 图标缓存 | `%APPDATA%\com.smyhub.sprout-launcher\data\icons\` | ## 🗂️ 项目结构 ```text SproutLauncher/ ├── src/ # React 前端 │ ├── components/ │ │ ├── AppCard.tsx # 应用卡片 │ │ ├── AddAppDialog.tsx # 添加应用对话框 │ │ ├── CategoryManager.tsx # 分类管理 │ │ └── GridWithFill.tsx # 自适应网格布局 │ ├── types.ts # 类型定义 │ ├── App.tsx # 主应用 │ └── main.tsx # 入口 ├── src-tauri/ │ ├── src/lib.rs # Rust 后端(命令 / 托盘 / 图标 / 快捷方式) │ ├── icons/ # 应用图标 │ ├── Cargo.toml │ └── tauri.conf.json ├── public/ # 静态资源(含托盘 logo) ├── package.json └── vite.config.ts ``` ## 📄 许可证 MIT