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

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 shumengya
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

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