113 lines
3.8 KiB
Markdown
113 lines
3.8 KiB
Markdown
# 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
|