From 9f32419f416e9f2445798d93169a14dd1e0fc3f2 Mon Sep 17 00:00:00 2001 From: shumengya Date: Tue, 23 Jun 2026 22:05:42 +0800 Subject: [PATCH] docs: rewrite README to reflect Tauri 2 stack, add MIT LICENSE Co-authored-by: Cursor --- LICENSE | 21 +++++++ README.md | 183 ++++++++++++++++++++++++++++-------------------------- 2 files changed, 117 insertions(+), 87 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d17fa7b --- /dev/null +++ b/LICENSE @@ -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. diff --git a/README.md b/README.md index b8788e1..61e16fc 100644 --- a/README.md +++ b/README.md @@ -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