# 桌面备忘录 **Repository Path**: coderdreams/desktop-memo ## Basic Information - **Project Name**: 桌面备忘录 - **Description**: 使用cc完成一个简单的应用,用于提醒我 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-03 - **Last Updated**: 2026-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📝 桌面备忘录 一个基于 **Tauri v2 + React + TypeScript** 的 Windows 桌面备忘应用。它以轻量、透明、贴近桌面的方式提供三类独立记录入口:**备忘录、日常任务、月度任务**。 --- ## 本次更新摘要 本次版本把原来的“备忘录 + 分类管理”模式重构成了三个更明确的功能入口,并修复了打包应用白屏、旧数据不兼容、窗口不可见等问题。 ### 功能调整 - 将侧边栏的“全部”改为真正的 **备忘录** 入口。 - 移除不必要的备忘录分类功能: - 不再显示工作/生活/学习分类。 - 不再显示添加分类、重命名分类、删除分类等分类管理入口。 - 旧数据中的分类字段仍会被安全兼容,不影响打开应用。 - 新增并独立区分三类内容: - **备忘录**:单纯记录事情,可以设置日期/截止时间。 - **日常任务**:每天刷新,检查昨天是否完成;昨天未完成会提示,昨天完成则更新为今天的任务。 - **月度任务**:单纯记录月度任务,不设置截止时间。 - 搜索框会根据当前入口显示不同提示,例如“搜索备忘录”“搜索日常任务”。 - 新建内容时会自动使用当前入口对应的类型。 ### 日常任务逻辑 - 日常任务只判断“今天是否完成”,不会永久保持完成状态。 - 如果任务不是今天新建的,应用会检查昨天: - 昨天未完成:在日常任务页和卡片上提示“昨日未完成”。 - 昨天已完成:提示“昨日已完成,已更新为今日任务”。 - 完成日常任务后显示“今日已完成”。 - 日常任务不再显示、保存或使用截止时间。 ### 月度任务逻辑 - 月度任务按自然月判断完成状态。 - 本月完成后显示“本月已完成”。 - 下个月会重新进入待办状态。 - 月度任务不再显示、保存或使用截止时间。 ### 备忘录逻辑 - 备忘录专注于“记录事情 + 记录日期”。 - 只有备忘录支持日期/截止时间。 - 备忘录仍支持倒计时、过期提示、置顶、完成、删除等基础操作。 ### 稳定性修复 - 修复 Tauri 打包应用白屏问题: - Vite 构建路径改为 `base: "./"`,保证 Tauri 中能正确加载 `dist/assets`。 - 修复旧本地数据导致白屏的问题: - 老版本可能保存过 `selectedTaskType: null`。 - 新版会自动把异常入口值恢复为 `memo`,避免 React 启动时崩溃。 - 修复窗口不可见/屏幕外问题: - 启动时会主动恢复窗口位置、显示窗口、聚焦窗口。 - 保留透明无边框效果,但不再自动把窗口贴到底层导致用户找不到。 --- ## ✨ 当前特性 - 📝 **备忘录**:记录普通事项,支持日期/截止时间。 - ☀️ **日常任务**:每天刷新,自动检查昨日完成情况。 - 🗓️ **月度任务**:按月管理任务,本月完成、下月刷新。 - 🔍 **即时搜索**:在当前入口内快速过滤内容。 - 🎨 **色彩标签**:6 种预设颜色,用于区分重要程度或主题。 - 📌 **置顶**:重要内容可置顶显示。 - ✅ **完成状态**: - 备忘录:完成后保持完成。 - 日常任务:只代表今日完成。 - 月度任务:只代表本月完成。 - ⏰ **日期提醒**:仅备忘录支持日期倒计时和过期提示。 - 🖱️ **窗口拖拽**:可拖动窗口,位置和大小会保存。 - 🪟 **透明玻璃窗口**:Windows 透明无边框桌面风格。 - 💾 **本地 JSON 存储**:数据保存在 `%APPDATA%\com.desktop-memo.app\`。 --- ## 🎬 界面结构 ```text ┌──────────────────────────────────────────────────────────────┐ │ 📝 桌面备忘录 │ │ ┌──────────────┬────────────────────────────────────────────┐ │ │ │ 📝 备忘录 │ 🔍 搜索备忘录... [+ 新建] │ │ │ │ ☀️ 日常任务 │ │ │ │ │ 🗓️ 月度任务 │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │ │ 备忘录 │ │ 日常任务 │ │ 月度任务 │ │ │ │ │ │ │ 日期提示 │ │ 昨日检查 │ │ 本月完成 │ │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ ⚙ 设置 │ │ │ │ └──────────────┴────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────┘ ``` --- ## 🛠 技术栈 | 技术 | 说明 | | --- | --- | | [Tauri v2](https://v2.tauri.app/) | Rust 桌面应用框架 | | [React 19](https://react.dev/) | 前端 UI | | [TypeScript](https://www.typescriptlang.org/) | 类型安全 | | [TailwindCSS](https://tailwindcss.com/) | 样式系统 | | [Framer Motion](https://www.framer.com/motion/) | 动画 | | [Zustand](https://zustand-demo.pmnd.rs/) | 状态管理 | | JSON 文件存储 | 本地持久化数据 | --- ## 🚀 快速开始 ### 环境要求 | 工具 | 建议版本 | | --- | --- | | Node.js | ≥ 20 | | pnpm | ≥ 9 | | Rust | ≥ 1.77 | | Visual Studio Build Tools | 2022,安装 C++ 桌面开发组件 | ### 安装依赖 ```bash pnpm install ``` ### 浏览器开发预览 ```bash pnpm dev ``` 默认地址: ```text http://localhost:1420 ``` ### Tauri 开发模式 ```bash pnpm tauri dev ``` ### 生产构建 ```bash pnpm tauri build ``` 构建后的 exe: ```text src-tauri/target/release/desktop-memo.exe ``` --- ## ⌨️ 操作说明 | 操作 | 说明 | | --- | --- | | 点击左侧入口 | 切换备忘录、日常任务、月度任务 | | 点击新建 | 在当前入口新建对应类型内容 | | 点击卡片 | 编辑当前内容 | | 悬停卡片 | 显示置顶、完成、删除按钮 | | 点击完成 | 标记备忘录完成 / 日常今日完成 / 月度本月完成 | | `Ctrl + Enter` | 编辑器中快速保存 | | 拖动窗口空白处 | 移动窗口 | --- ## 📁 项目结构 ```text desktop-memo/ ├── src/ │ ├── components/ │ │ ├── layout/ # 桌面外壳 │ │ ├── memo/ # 卡片、网格、编辑器 │ │ ├── search/ # 搜索栏 │ │ ├── settings/ # 设置面板 │ │ └── sidebar/ # 三大功能入口 │ ├── stores/ # Zustand 状态与持久化 │ ├── types/ # 类型、任务周期判断工具 │ ├── App.tsx │ └── main.tsx ├── src-tauri/ │ ├── src/ # Rust 后端 │ ├── tauri.conf.json # Tauri 窗口配置 │ └── icons/ ├── dist/ # 前端构建产物 ├── package.json ├── vite.config.ts └── README.md ``` --- ## 💾 数据存储 数据保存在: ```text %APPDATA%\com.desktop-memo.app\ ``` 主要文件: ```text desktop-memo-data.json desktop-memo-settings.json window-state.json startup.log ``` 说明: - 所有用户数据都在本地。 - 不依赖云端。 - 不发送备忘录内容。 - 新版兼容旧版数据中的分类字段和异常入口状态。 --- ## 🔧 常见问题 ### 应用窗口白屏 如果浏览器预览正常,但 Tauri 应用白屏,优先检查: 1. `vite.config.ts` 是否包含: ```ts base: "./", ``` 2. `dist/index.html` 中资源路径是否为: ```html ./assets/xxx.js ./assets/xxx.css ``` 3. 本地数据中 `selectedTaskType` 是否异常。新版会自动兼容异常值。 ### 应用窗口看不到 应用会记忆窗口位置。如果窗口跑到屏幕外,可以删除或修改: ```text %APPDATA%\com.desktop-memo.app\window-state.json ``` 推荐恢复值: ```json { "x": 300.0, "y": 160.0, "width": 1100.0, "height": 700.0 } ``` ### 透明效果不生效 确认 `src-tauri/tauri.conf.json` 中窗口配置包含: ```json { "decorations": false, "transparent": true, "shadow": false } ``` --- ## 📋 Roadmap - [x] 备忘录 CRUD - [x] 日常任务 - [x] 月度任务 - [x] 日常任务昨日完成检查 - [x] 月度任务按月完成状态 - [x] 移除分类管理 - [x] 透明无边框窗口 - [x] 本地 JSON 持久化 - [x] Tauri 打包资源路径修复 - [x] 旧数据兼容修复 - [ ] 提醒通知 - [ ] Markdown 编辑 - [ ] 数据导出 - [ ] 更完整的主题模式 --- ## 📄 License MIT ---
Made with 🦀 Rust + ⚛️ React