# petite-notes **Repository Path**: wangkai000/petite-notes ## Basic Information - **Project Name**: petite-notes - **Description**: 一款基于 Tauri 构建的轻量级桌面便签应用,支持多窗口独立便签、系统托盘操作、本地 SQLite 持久化存储。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-04 - **Last Updated**: 2026-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基米便签 (Jimi Notes) 一款基于 **[Tauri 2](https://v2.tauri.app/)** 构建的轻量级桌面便签应用,支持多窗口独立便签、系统托盘操作、本地 SQLite 持久化存储。 📦 仓库地址:[https://gitee.com/wangkai000/petite-notes](https://gitee.com/wangkai000/petite-notes) ## ✨ 功能特性 - **多窗口便签** — 每个便签独立窗口,可自由拖拽移动、缩放大小 - **自定义颜色** — 内置多种柔和背景色,右键菜单快速切换 - **锁定位置** — 点击🔒锁定便签位置,防止误触拖动 - **系统托盘** — 托盘图标常驻,右键快速新建便签 - **数据持久化** — 基于 SQLite 本地数据库,自动保存便签内容与位置 - **自动保存** — 编辑内容防抖 300ms 自动保存,位置/尺寸变化防抖 500ms 同步 - **无边框设计** — 自定义标题栏,支持拖拽移动与缩放手柄 - **堆叠布局** — 新建便签自动从当前便签右下角错位叠加,营造立体感 ## 🛠 技术栈 | 层级 | 技术 | |------|------| | **桌面框架** | Tauri 2 | | **前端框架** | React 19 + TypeScript | | **构建工具** | Vite 6 | | **样式方案** | Tailwind CSS 4 | | **状态管理** | Zustand 5 | | **本地数据库** | SQLite(通过 `@tauri-apps/plugin-sql`) | | **后端语言** | Rust | ## 📦 项目结构 ``` kid-sticky-notes/ ├── src/ # 前端 React 源码 │ ├── App.tsx # 主窗口入口(加载便签、创建窗口、隐藏自身) │ ├── main.tsx # 主窗口 React 挂载点 │ ├── NoteApp.tsx # 单个便签窗口组件(编辑、右键菜单、拖拽、缩放) │ ├── note-main.tsx # 便签窗口 React 挂载点 │ ├── index.css # 主窗口全局样式 │ ├── note.css # 便签窗口样式 │ ├── NoteApp.tsx # 单个便签窗口组件 │ ├── stores/ │ │ └── noteStore.ts # Zustand 状态管理 + SQLite 操作封装 │ └── vite-env.d.ts # Vite 类型声明 ├── src-tauri/ # Tauri Rust 后端 │ ├── src/ │ │ ├── lib.rs # Rust 命令定义(创建/关闭窗口等) │ │ └── main.rs # Tauri 应用入口 │ ├── tauri.conf.json # Tauri 配置(窗口、托盘、构建等) │ ├── Cargo.toml # Rust 依赖管理 │ ├── build.rs # Tauri 构建脚本 │ ├── capabilities/ # Tauri 权限配置 │ └── icons/ # 应用图标资源 ├── index.html # 主窗口页面 ├── note.html # 便签窗口页面 ├── vite.config.ts # Vite 配置(多入口、React 插件、Tailwind) ├── tsconfig.json # TypeScript 配置 └── package.json # 前端依赖与脚本 ``` ## 🚀 快速开始 ### 前置要求 - [Node.js](https://nodejs.org/) >= 18 - [Rust](https://www.rust-lang.org/tools/install) >= 1.70 - 操作系统:Windows / macOS / Linux ### 安装依赖 ```bash npm install ``` ### 启动开发模式 ```bash npm run tauri dev ``` 此命令会自动启动 Vite 开发服务器(端口 1420),并拉起 Tauri 桌面应用窗口。 ### 构建正式版本 ```bash npm run tauri build ``` 构建产物位于 `src-tauri/target/release/bundle/` 目录下,包含对应平台安装包。 ### 其他命令 ```bash npm run dev # 仅启动 Vite 前端开发服务器 npm run build # 仅构建前端资源 npm run preview # 预览构建后的前端资源 ``` ## 📝 数据库设计 使用 SQLite 存储便签数据(`notes.db`),主要字段: | 字段 | 类型 | 说明 | |------|------|------| | `id` | INTEGER | 便签唯一标识(自增) | | `content` | TEXT | 便签文本内容 | | `pos_x` | INTEGER | 窗口 X 坐标 | | `pos_y` | INTEGER | 窗口 Y 坐标 | | `width` | INTEGER | 窗口宽度 | | `height` | INTEGER | 窗口高度 | | `bg_color` | TEXT | 背景色值(如 `#fef08a`) | | `is_top` | INTEGER | 是否置顶(0/1) | | `created_at` | TEXT | 创建时间 | | `updated_at` | TEXT | 更新时间 | ## 🎨 使用提示 1. **新建便签**:右键系统托盘图标 → "新建便签" 2. **编辑内容**:直接点击便签窗口编辑区输入文字 3. **移动便签**:拖拽便签顶部标题栏 4. **缩放便签**:拖拽便签右下角缩放手柄 5. **右键菜单**:右键便签窗口 → 置顶 / 更换颜色 / 删除 6. **删除便签**:点击标题栏右侧"✕"按钮,或右键菜单选择删除 ## 📄 License MIT