docs: rewrite README to reflect Tauri 2 stack, add MIT LICENSE

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-23 22:05:42 +08:00
parent b8ac8ab8c5
commit 9f32419f41
2 changed files with 117 additions and 87 deletions

183
README.md
View File

@@ -1,103 +1,112 @@
# Sprout Launcher - Windows桌面启动器
# Sprout Launcher · 萌芽桌面启动器
一个基于 Electron + React 开发的清新风格 Windows 应用启动器。
> 一个清新风格 Windows 应用启动器,基于 **Tauri 2 + React 18 + TypeScript** 构建
把常用的程序、脚本、文件夹收纳到一个漂亮的网格面板里,点击即启动,常驻系统托盘随用随开。
## ✨ 功能特性
- 🚀 **快速启动** - 点击图标即可启动相应的Windows应用程序
- 🎨 **清新界面** - 淡绿色到淡黄绿色渐变,带有毛玻璃和半透明效果
- 🖼️ **自动图标** - 自动获取exe文件的图
- 📁 **分类管理** - 支持自定义分类,轻松管理应用
- 💾 **配置保存** - 所有配置使用JSON文件保存
- 🎯 **灵活布局** - 每行最多显示15个应用自适应网格布局
## 📋 应用信息
每个添加的应用包含以下信息:
- **软件图标** - 自动从exe文件提取
- **软件名称** - 可自定义不填则使用exe文件名
- **软件分类** - 可选择分类,默认为"默认分类"
- **软件描述** - 可选的简单描述
## 🎯 使用方法
### 开发模式
```bash
# 安装依赖
npm install
# 启动开发服务器
npm run dev
```
### 构建应用
```bash
# 构建生产版本
npm run build
```
### 添加应用
1. 点击左侧边栏的" 添加应用"按钮
2. 点击"浏览"选择exe文件
3. 系统会自动获取图标和文件名
4. 可选:自定义应用名称、选择分类、添加描述
5. 点击"添加"完成
### 管理分类
1. 点击左侧边栏的"📁 管理分类"按钮
2. 点击"+ 添加分类"输入新分类名称
3. 点击"确定"完成添加
4. 默认分类无法删除
### 编辑/删除应用
- 鼠标悬停在应用卡片上会显示编辑(✏️)和删除(🗑️)按钮
- 点击编辑按钮可修改应用信息
- 点击删除按钮可删除应用(需确认)
## 🎨 界面特性
- **自定义标题栏** - 支持最小化、最大化、关闭操作
- **毛玻璃效果** - 现代化的半透明背景
- **渐变背景** - 淡绿色到淡黄绿色的清新渐变
- **响应式布局** - 自适应不同屏幕尺寸
- 🚀 **一键启动** — 支持 `.exe` / `.bat` / `.cmd` / `.ps1` / `.vbs` 及文件夹,点击图标即运行
- 🖼️ **自动提取图标** — 通过 .NET `System.Drawing` 自动抓取程序图标并缓存为 PNG
- 🔗 **快捷方式管理** 自动在数据目录生成 `.lnk`,可在资源管理器中定位目
- 🖱️ **右键上下文菜单** — 打开、以管理员身份运行、在资源管理器中显示、编辑、移除
- 📁 **分类管理** — 自定义分类整理应用,默认分类不可删除
- 🎨 **清新界面** — 淡绿渐变背景 + 毛玻璃效果,自定义无边框标题栏
- 🔔 **系统托盘** — 关闭窗口隐藏到托盘,左键托盘唤出主窗口
- 🔄 **开机自启** — 一键开启 / 关闭随系统启动
- 💾 **配置导入导出** — 一键备份 / 迁移所有应用与分类
- 🔂 **单实例运行** — 重复启动时聚焦已有窗口
## 📦 技术栈
- **Electron** - 跨平台桌面应用框架
- **React** - UI框架
- **TypeScript** - 类型安全
- **Vite** - 快速构建工具
| 层级 | 技术 |
|------|------|
| 桌面框架 | [Tauri 2](https://v2.tauri.app/) |
| 前端 | React 18 + TypeScript 5 |
| 构建工具 | Vite 5 |
| 后端 | Rust图标提取 / 快捷方式 / 托盘 / 进程启动) |
| Tauri 插件 | `dialog``autostart``single-instance``log` |
## 📝 配置文件位置
## 🚀 快速开始
配置文件保存在:`%APPDATA%/sprout-launcher/launcher-config.json`
### 环境要求
## 🔧 开发
- [Node.js](https://nodejs.org/) ≥ 18
- [Rust](https://www.rust-lang.org/tools/install) 工具链
-Windows[Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/)
项目结构:
### 安装依赖
```
sprout-launcher/
├── electron/ # Electron主进程和预加载脚本
│ ├── main.ts # 主进程
│ └── preload.ts # 预加载脚本
├── src/
│ ├── components/ # React组件
│ │ ├── AppCard.tsx # 应用卡片
│ │ ├── AddAppDialog.tsx # 添加应用对话框
│ │ └── CategoryManager.tsx # 分类管理
│ ├── types.ts # TypeScript类型定义
│ ├── App.tsx # 主应用组件
│ └── App.css # 主样式
└── package.json
```bash
npm install
```
## 📄 License
### 开发运行
```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