Files
sprout-launcher/README.md

113 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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