# VVTodoLabel **Repository Path**: weijun233/VVTodoLabel ## Basic Information - **Project Name**: VVTodoLabel - **Description**: 轻量级桌面任务清单应用 - 简洁高效的个人任务管理工具 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-02 - **Last Updated**: 2026-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VVTodoList
VVTodoList Logo **轻量级桌面任务清单应用** [![Version](https://img.shields.io/badge/version-1.0.0-blue.svg)](https://gitee.com/weijun233/VVTodoLabel) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Platform](https://img.shields.io/badge/platform-Windows-lightgrey.svg)](https://gitee.com/weijun233/VVTodoLabel) [![Tauri](https://img.shields.io/badge/built%20with-Tauri-FFC131.svg)](https://tauri.app/)
## ✨ 特性 - 🎯 **极简设计** - 专注于任务管理的核心功能 - 🚀 **高性能** - 基于 Tauri 构建,原生性能体验 - 🌙 **深色模式** - 支持浅色/深色主题切换 - 🎨 **主题定制** - 多种主题色彩选择 - 📌 **窗口置顶** - 始终保持在最前端,不错过任何任务 - 🔒 **窗口固定** - 防止意外拖拽,专注工作 - 📊 **任务统计** - 实时显示任务完成情况 - 💾 **数据导入导出** - 支持任务数据的备份和迁移 ## 🛠️ 技术栈 - **前端**: Vue 3 + TypeScript + Vite - **后端**: Rust + Tauri - **样式**: CSS3 + CSS Variables - **构建工具**: Tauri CLI ## 🚀 快速开始 ### 系统要求 - ✅ Windows 10/11 - ✅ Linux (Ubuntu 24.04+) - ❌ macOS 10.15+ (暂不支持) ### 环境准备 Ubuntu 24.04.3 LTS: ```bash # 安装 Node.js (18+)(省略...) # 安装 Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 若 cargo 仍不可用,手动将以下内容添加到环境变量 source "$HOME/.cargo/env" source ~/.bashrc cargo --version # 安装 Tauri CLI cargo install tauri-cli ``` ### 安装 #### 源码构建 ```bash # 克隆仓库 git clone https://gitee.com/weijun233/VVTodoLabel.git cd VVTodoLabel # 安装依赖 npm install ``` #### 交叉编译 方式一:使用 Docker 容器进行编译(不推荐,项目环境仍需重新安装) ```bash sudo rm -rf src-tauri/target sudo docker pull messense/cargo-xwin sudo docker run --rm -it -v $(pwd):/io -w /io/src-tauri messense/cargo-xwin \ cargo xwin build --release --target x86_64-pc-windows-msvc # 输出在:src-tauri/target/x86_64-pc-windows-msvc/release/vv-todolist.exe # 修改源 sudo nano /etc/docker/daemon.json sudo systemctl restart docker ``` 常用源: ```text https://hub.rat.dev https://docker.xuanyuan.me ``` 方式二:使用 cargo-xwin 使用 `cargo-xwin`,它能自动下载并处理Windows SDK,大大简化了交叉编译的设置。 > `cargo-xwin` 会自动处理复杂的工具链配置,一键完成编译,是最高效的本地方案。 ```bash # 更新 Rust 工具链 rustup update # 为 Windows 目标添加交叉编译支持 rustup target add x86_64-pc-windows-msvc # 检查项目依赖:查看项目下的 src-tauri/Cargo.toml,确保 tauri 依赖版本 >=1.3 grep 'tauri = ' src-tauri/Cargo.toml # 安装 cargo-xwin 工具 cargo install cargo-xwin # 安装 LLVM 工具链 # 安装完整的 LLVM 工具集(包含 llvm-rc) sudo apt update sudo apt install llvm # 安装 Rust 的 LLVM 工具预览组件 rustup component add llvm-tools-preview # 添加 llvm-rc 到 PATH # 查找 llvm-rc 的路径 find /usr -name "llvm-rc" 2>/dev/null # 找到的路径是 /usr/lib/llvm-18/bin/llvm-rc # 将其添加到 PATH echo 'export PATH="/usr/lib/llvm-18/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # 验证 llvm-rc 是否已就位 echo $PATH which llvm-rc llvm-rc --version # 安装 Clang 工具链 sudo apt install clang # 创建 /usr/local/bin 下的链接目录 sudo mkdir -p /usr/local/bin # 创建符号链接,让系统执行 clang-cl 时,实际执行的是 clang sudo update-alternatives --install /usr/local/bin/clang-cl clang-cl /usr/bin/clang 100 # 刷新当前会话的环境变量 hash -r # 验证 clang-cl 命令是否可用及其版本信息 clang-cl --version # 开始交叉编译 windows 版本 npm run tauri build -- --runner cargo-xwin --target x86_64-pc-windows-msvc ``` 成功的话,会在 `src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/` 目录下找到生成的 `.exe` 可执行程序。 > Linux 本地环境打包后位于:`VVTodoLabel/src-tauri/target/release/vv-todolist` 下。 如果是开发环境,还需要安装以下依赖: ```bash sudo apt update sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libcairo2-dev # 验证 pkg-config --cflags --libs webkit2gtk-4.1 rm -rf dist npm run build npm run tauri:dev ``` #### 命令 ```bash # 启动 Tauri 开发模式 npm run tauri:dev # 构建生产版本 npm run tauri:build ``` #### 版本升级 ```bash npm install @tauri-apps/api@latest @tauri-apps/cli@latest cd src-tauri cargo update cd .. ``` #### 其它 - 数据库位置:`/home/vv/.config/com.vv.todolist/vv-todolist.db` 或 `/c/Users/weijun/AppData/Roaming/com.vv.todolist/vv-todolist.db` - `ctrl + shift + i` 打开开发者工具 ## 📖 功能列表 ### 基本操作 - ✅ **添加任务**: 在输入框中输入任务内容,按回车或点击加号按钮 - ✅ **完成任务**: 点击任务前的复选框 - ✅ **删除任务**: 点击任务右侧的删除按钮 - ✅ **查看详情**: 点击任务详情查看完整内容 - ✅ **任务编辑**: 双击任务item进入编辑模式 - ✅ **搜索/筛选**: 在任务列表上方增加搜索框,实时根据关键词过滤任务列表(前端过滤) - ✅ **任务优先级/标签**: 在每行任务左侧小圆点按钮,点击切换优先级,并在数据库中增加 priority 字段(0-2),列表可按优先级排序 ### 高级功能 - ✅ **窗口置顶**: 在设置中开启"置于顶层" - ✅ **窗口固定**: 在设置中开启"窗口固定",防止意外拖拽 - ✅ **主题切换**: 在设置中选择喜欢的主题色和外观模式 - ✅ **数据管理**: 使用导入/导出功能备份和迁移任务数据 - ✅ **统计数据与趋势图表**: 基于已有的 `createdAt` 和 `completedAt` 数据,在新窗口添加图表 ### 待实现 - [ ] **截止日期与提醒**: 为任务设置截止日期,到期时系统通知或窗口闪烁 - [ ] **子任务/清单**: 为每个任务关联一个子任务列表(JSON 字段)。点击主任务展开子任务列表,支持勾选 ## 📁 项目结构 ``` VVTodoLabel/ ├── src/ # 前端源码 │ ├── App.vue # 主应用组件 │ ├── main.ts # 应用入口 │ └── utils/ # 工具函数 ├── src-tauri/ # Tauri 后端 │ ├── src/ # Rust 源码 │ ├── Cargo.toml # Rust 依赖 │ └── tauri.conf.json # Tauri 配置 ├── public/ # 静态资源 ├── package.json # Node.js 依赖 └── README.md # 项目说明 ``` - [ ] 待办事项1 - [x] 已完成事项1